https://bugzilla.novell.com/show_bug.cgi?id=211881 Summary: glic doesn't handle correct with parameter for some functions: timer_delete(), timer_getoverrun(), timer_gettime(), timer_settime() Product: SUSE Linux 10.1 Version: Final Platform: All OS/Version: SuSE Linux 10.1 Status: NEW Severity: Normal Priority: P5 - None Component: Development AssignedTo: pth@novell.com ReportedBy: yxu@novell.com QAContact: qa@suse.de an example testcase: #include <time.h> #include <stdio.h> #include <errno.h> #include "posixtest.h" int main(int argc, char *argv[]) { timer_t tid; int test=1; tid = (timer_t) test; if (timer_delete(tid) == -1) { if (errno==EINVAL) { printf("timer_delete() returned -1 and set errno=EINVAL\n"); return PTS_PASS; } else { printf("timer_delete() returned -1, but didn't set errno!=EINVAL\n"); return PTS_FAIL; } } printf("timer_delete() did not return -1\n"); return PTS_PASS; } It will give output segfault. And strace shows: execve("./5-1", ["./5-1"], [/* 93 vars */]) = 0 brk(0) = 0x804a000 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7fa9000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=160239, ...}) = 0 mmap2(NULL, 160239, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7f81000 close(3) = 0 open("/lib/libm.so.6", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\0004\0"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=180631, ...}) = 0 mmap2(NULL, 147584, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7f5c000 madvise(0xb7f5c000, 147584, MADV_SEQUENTIAL|0x1) = 0 mmap2(0xb7f7f000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x22) = 0xb7f7f000 close(3) = 0 open("/lib/librt.so.1", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0p\35\0\000"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=40297, ...}) = 0 mmap2(NULL, 33356, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7f53000 madvise(0xb7f53000, 33356, MADV_SEQUENTIAL|0x1) = 0 mmap2(0xb7f5a000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6) = 0xb7f5a000 close(3) = 0 open("/lib/libc.so.6", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\300Y\1"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=1404242, ...}) = 0 mmap2(NULL, 1176988, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7e33000 madvise(0xb7e33000, 1176988, MADV_SEQUENTIAL|0x1) = 0 mmap2(0xb7f4c000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x118) = 0xb7f4c000 mmap2(0xb7f50000, 9628, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7f50000 close(3) = 0 open("/lib/libpthread.so.0", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\200K\0"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=100331, ...}) = 0 mmap2(NULL, 78304, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7e1f000 madvise(0xb7e1f000, 78304, MADV_SEQUENTIAL|0x1) = 0 mmap2(0xb7e2f000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xf) = 0xb7e2f000 mmap2(0xb7e31000, 4576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7e31000 close(3) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7e1e000 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7e1d000 set_thread_area({entry_number:-1 -> 6, base_addr:0xb7e1d6b0, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0 mprotect(0xb7f4c000, 8192, PROT_READ) = 0 munmap(0xb7f81000, 160239) = 0 set_tid_address(0xb7e1d6f8) = 13374 rt_sigaction(SIGRTMIN, {0xb7e23760, [], SA_SIGINFO}, NULL, 8) = 0 rt_sigaction(SIGRT_1, {0xb7e23670, [], SA_RESTART|SA_SIGINFO}, NULL, 8) = 0 rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0 getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0 _sysctl({{CTL_KERN, KERN_VERSION}, 2, 0xbfccc740, 36, (nil), 0}) = 0 --- SIGSEGV (Segmentation fault) @ 0 (0) --- +++ killed by SIGSEGV +++ Process 13374 detached If I didn't assign any value to variable "test", then it will succeed and return EINVAL as supposed to. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.