Re: s390 user_enable_single_step() (Was: odd utrace testing results on s390x)
Cai, any chance you can help? Using /usr/bin/console I can't choose anotherkernel at the 00: Please choose (default will boot in 15 seconds): stage, how can I do this??? As Heiko mentioned, I did manage to enter, #cp vi vmsg 2 during the prompt to get to the second kernel to boot... Thanks, CAI Qian
Re: [PATCH 0/7] utrace/ptrace
This is the new iteration of Roland's utrace patch, this time with rewrite-ptrace-via-utrace + cleanups in utrace core. Tested-by: CAI Qian caiq...@redhat.com
Re: odd utrace testing results on s390x
Could you please re-test with this patch applied? It turned out that this patch did not make much difference. the step-simple is still failing with the patch applied. It could be reproduced a few times after a fresh reboot. The test exited with 1 here, /* Known bug in 2.6.28-rc7 + utrace patch: * child was left to run freely, and exited * Deterministic (happens even with NUM_SINGLESTEPS = 1) */ if (WIFEXITED (status)) { VERBOSE(PTRACE_SINGLESTEP did not stop (step #%d)\n, i+1); assert (WEXITSTATUS (status) == 42); exit (1); } Here was the strace output when failure. # strace ./step-simple execve(./step-simple, [./step-simple], [/* 28 vars */]) = 0 brk(0) = 0x80003000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2027000 access(/etc/ld.so.preload, R_OK) = -1 ENOENT (No such file or directory) open(/etc/ld.so.cache, O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=44711, ...}) = 0 mmap(NULL, 44711, PROT_READ, MAP_PRIVATE, 3, 0) = 0x2028000 close(3)= 0 open(/lib64/libc.so.6, O_RDONLY) = 3 read(3, \177ELF\2\2\1\0\0\0\0\0\0\0\0\0\0\3\0\26\0\0\0\1\0\0\0\0\0\2\10\364\0..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=2703224, ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2033000 mmap(NULL, 1729920, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x2034000 mmap(0x21d1000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x19c000) = 0x21d1000 mmap(0x21d6000, 17792, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x21d6000 close(3)= 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x21db000 mprotect(0x21d1000, 16384, PROT_READ) = 0 mprotect(0x2022000, 4096, PROT_READ) = 0 munmap(0x2028000, 44711)= 0 rt_sigaction(SIGABRT, {0x8e7c, [ABRT], SA_RESTART}, {SIG_DFL, [], 0}, 8) = 0 rt_sigaction(SIGINT, {0x8e7c, [INT], SA_RESTART}, {SIG_DFL, [], 0}, 8) = 0 rt_sigaction(SIGALRM, {0x8e7c, [ALRM], SA_RESTART}, {SIG_DFL, [], 0}, 8) = 0 alarm(5)= 0 clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x21db7c0) = 2026 wait4(2026, [{WIFSTOPPED(s) WSTOPSIG(s) == SIGSTOP}], 0, NULL) = 2026 --- SIGCHLD (Child exited) @ 0 (0) --- ptrace(PTRACE_SINGLESTEP, 2026, 0, SIG_0) = 0 wait4(2026, [{WIFEXITED(s) WEXITSTATUS(s) == 42}], 0, NULL) = 2026 --- SIGCHLD (Child exited) @ 0 (0) --- kill(2026, SIGKILL) = -1 ESRCH (No such process) wait4(-1, NULL, __WALL, NULL) = -1 ECHILD (No child processes) exit_group(1) Also, I could not reproduce the problem in kernels without utrace. Thanks, CAI Qian
Re: new Fedora 13 utrace kernel
Hi Roland, The utrace patch looks suspicious in utrace.h, which cause the compilation failure without CONFIG_UTRACE. I have confirmed that the git tree looks sane. +static inline void utrace_init_task(struct task_struct *child) +{ +} +{ +} + Thanks, CAI Qian
Tests Failures on PPC64
This is seen with and without CONFIG_UTRACE. FAIL: watchpoint ppc-dabr-race: ./../tests/ppc-dabr-race.c:141: handler_fail: Assertion `0' failed. /bin/sh: line 5: 31750 Aborted ${dir}$tst FAIL: ppc-dabr-race Are those known issues? Thanks, CAI Qian
Re: powerpc: step-jump-cont failure (Was: [PATCH] utrace: don't set -ops = utrace_detached_ops lockless)
I'll try to investigate, but currently I am all confused, and I suspect we have some user-space issues. If only I knew something about ppc... Sorry for the confusing. Ananth, could you please confirm once again that step-jump-cont (from ptrace-tests testsuite) not fail on your machine? If yes, please tell me the version of glibc/gcc. Is PTRACE_GETREGS defined on your machine? Funny enough. The above failure only seen on that particular system so far. In fact, different PPC64 systems have different results there (roland's git tree + your lockless patch). ibm-js20-02.lab.bos.redhat.com FAIL: watchpoint ppc-dabr-race: ./../tests/ppc-dabr-race.c:141: handler_fail: Assertion `0' failed. /bin/sh: line 5: 16928 Aborted ${dir}$tst FAIL: ppc-dabr-race syscall-reset: ./../tests/syscall-reset.c:95: main: Assertion `(*__errno_location ()) == 38' failed. errno 14 (Bad address) unexpected child status 67f FAIL: syscall-reset step-fork: ./../tests/step-fork.c:56: handler_fail: Assertion `0' failed. /bin/sh: line 5: 31144 Aborted ${dir}$tst FAIL: step-fork ibm-js22-02.rhts.bos.redhat.com ibm-js12-04.rhts.bos.redhat.com ibm-js12-05.rhts.bos.redhat.com Looks like failed only for syscall-reset and step-fork, as we have discussed before. I'll be reserving ibm-js20-02.lab.bos.redhat.com at the moment. Thanks, CAI Qian
Re: [PATCH] utrace: don't set -ops = utrace_detached_ops lockless
Yes, it looks good so far. Ptrace tests also does not show any regression. I said this too early. Looks like step-jump-count started to fail now. step-jump-cont: step-jump-cont.c:244: main: Assertion `0' failed. /bin/sh: line 5: 28212 Aborted ${dir}$tst FAIL: step-jump-cont You can login the same machine. # cd /mnt/tests/kernel/misc/ptrace-testsuite/ptrace-tests/tests # make check
step-into-handler.c compilation failure on ppc64
# make check ... gcc -DPACKAGE_NAME=\ptrace\ regression\ test\ suite\ -DPACKAGE_TARNAME=\ptrace-tests\ -DPACKAGE_VERSION=\0.1\ -DPACKAGE_STRING=\ptrace\ regression\ test\ suite\ 0.1\ -DPACKAGE_BUGREPORT=\utrace-de...@redhat.com\ -DPACKAGE=\ptrace-tests\ -DVERSION=\0.1\ -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -D__EXTENSIONS__=1 -D_ALL_SOURCE=1 -D_GNU_SOURCE=1 -D_POSIX_PTHREAD_SEMANTICS=1 -D_TANDEM_SOURCE=1 -I.-std=gnu99 -Wall -Werror -g -O2 -MT step-into-handler.o -MD -MP -MF .deps/step-into-handler.Tpo -c -o step-into-handler.o step-into-handler.c cc1: warnings being treated as errors step-into-handler.c: In function ‘handler_alrm_get’: step-into-handler.c:116: error: dereferencing type-punned pointer will break strict-aliasing rules make[1]: *** [step-into-handler.o] Error 1 make[1]: Leaving directory `/mnt/tests/kernel/misc/ptrace-testsuite/ptrace-tests/tests' make: *** [check] Error 2 There could be a better fix. This patch only add -fno-strict-aliasing to ignore the warning.--- tests/Makefile.in.orig 2009-12-05 12:07:27.726259155 -0500 +++ tests/Makefile.in 2009-12-05 12:07:47.107196650 -0500 @@ -547,7 +547,7 @@ user-area-padding \ reparent-zombie-clone -AM_CFLAGS = -std=gnu99 -Wall -Werror +AM_CFLAGS = -std=gnu99 -Wall -Werror -fno-strict-aliasing x86_64_ia32_gs_LDFLAGS = -lpthread late_ptrace_may_attach_check_LDFLAGS = -lpthread ppc_dabr_race_LDFLAGS = -lpthread
Ptrace Testsuite Results for CONFIG_UTRACE
Hello! Please find below results by using the latest ptrace testsuite with and without CONFIG_UTRACE. Overall, There did not look like some regression. The failures were getting less with the ptrace-utrace patchset applied. There are some tests failed for both kernels. * detach-sigkill-race * clone-multi-ptrace * step-fork Thanks! CAI Qian HP XW6600 Workstation (x86_64 Intel CPU) * make check --- noutrace/check 2009-11-26 20:55:15.0 +0800 +++ utrace/check2009-11-26 20:53:10.0 +0800 @@ -31,18 +31,20 @@ PASS: step-simple PASS: step-through-sigret PASS: stop-attach-then-wait -FAIL: detach-stopped +PASS: detach-stopped PASS: detach-stopped-rhel5 PASS: clone-multi-ptrace PASS: clone-ptrace PASS: o_tracevfork PASS: o_tracevforkdone PASS: detach-parting-signal +detach-sigkill-race: detach-sigkill-race.c:167: reproduce: Unexpected error: No such process. +detach-sigkill-race: detach-sigkill-race.c:106: handler_fail: Assertion `0' failed. FAIL: detach-sigkill-race PASS: waitpid-double-report PASS: o_tracevfork-parent PASS: stopped-detach-sleeping -FAIL: stopped-attach-transparency +PASS: stopped-attach-transparency PASS: erestartsys-trap PASS: highmem-debugger PASS: sigint-before-syscall-exit @@ -50,8 +52,7 @@ PASS: step-from-clone FAIL: step-fork -4 of 47 tests failed +2 of 47 tests failed (4 tests were not run) * make check-biarch --- noutrace/check-biarch 2009-11-26 20:55:37.0 +0800 +++ utrace/check-biarch 2009-11-26 20:53:03.0 +0800 @@ -31,7 +31,7 @@ PASS: step-simple PASS: step-through-sigret PASS: stop-attach-then-wait -FAIL: detach-stopped +PASS: detach-stopped PASS: detach-stopped-rhel5 PASS: clone-multi-ptrace PASS: clone-ptrace @@ -42,7 +42,7 @@ PASS: waitpid-double-report PASS: o_tracevfork-parent PASS: stopped-detach-sleeping -FAIL: stopped-attach-transparency +PASS: stopped-attach-transparency PASS: erestartsys-trap SKIP: highmem-debugger PASS: sigint-before-syscall-exit @@ -50,7 +50,7 @@ PASS: step-from-clone FAIL: step-fork -3 of 44 tests failed +1 of 44 tests failed (7 tests were not run) * make xcheck and make xcheck-biarch results are identical. PASS: clone-get-signal PASS: ppc-ptrace-exec-full-regs PASS: x86_64-cs SKIP: user-area-padding PASS: reparent-zombie-clone All 6 tests passed (1 test was not run) HP XW9400 Workstation (x86_64 AMD CPU) * make check (both FAIL: detach-sigkill-race) --- noutrace/check 2009-11-26 21:14:12.0 +0800 +++ utrace/check2009-11-26 20:57:37.0 +0800 @@ -31,11 +31,11 @@ PASS: step-simple PASS: step-through-sigret PASS: stop-attach-then-wait -FAIL: detach-stopped +PASS: detach-stopped PASS: detach-stopped-rhel5 clone-multi-ptrace: clone-multi-ptrace.c:205: try_to_reproduce: Assertion `__extension__ (((union { __typeof(status) __in; int __i; }) { .__in = (status) }).__i))) 0xff00) 8) == 5' failed. clone-multi-ptrace: clone-multi-ptrace.c:101: handler_fail: Assertion `0' failed. -/bin/sh: line 5: 13519 Aborted ${dir}$tst +/bin/sh: line 5: 13183 Aborted ${dir}$tst FAIL: clone-multi-ptrace PASS: clone-ptrace PASS: o_tracevfork @@ -45,7 +45,7 @@ PASS: waitpid-double-report PASS: o_tracevfork-parent PASS: stopped-detach-sleeping -FAIL: stopped-attach-transparency +PASS: stopped-attach-transparency PASS: erestartsys-trap PASS: highmem-debugger PASS: sigint-before-syscall-exit @@ -53,7 +53,7 @@ PASS: step-from-clone FAIL: step-fork -5 of 47 tests failed +3 of 47 tests failed * make check-biarch --- noutrace/check-biarch 2009-11-26 20:59:53.0 +0800 +++ utrace/check-biarch 2009-11-26 20:57:56.0 +0800 @@ -31,7 +31,7 @@ PASS: step-simple PASS: step-through-sigret PASS: stop-attach-then-wait -FAIL: detach-stopped +PASS: detach-stopped PASS: detach-stopped-rhel5 PASS: clone-multi-ptrace PASS: clone-ptrace @@ -42,7 +42,7 @@ PASS: waitpid-double-report PASS: o_tracevfork-parent PASS: stopped-detach-sleeping -FAIL: stopped-attach-transparency +PASS: stopped-attach-transparency PASS: erestartsys-trap SKIP: highmem-debugger PASS: sigint-before-syscall-exit @@ -50,7 +50,7 @@ PASS: step-from-clone FAIL: step-fork -3 of 44 tests failed +1 of 44 tests failed * make xcheck and make xcheck-biarch results are identical. PASS: late-ptrace-may-attach-check PASS: tracer-lockup-on-sighandler-kill PASS: clone-get-signal PASS: ppc-ptrace-exec-full-regs PASS: x86_64-cs SKIP: user-area-padding PASS: reparent-zombie-clone All 6 tests passed (1 test was not run) Dell PowerEdge 1650 (i686 Intel CPU) * make check --- noutrace/check 2009-11-26 21:02:59.0 +0800 +++ utrace/check2009-11-26 21:01:56.0 +0800 @@ -1,4
GDB Testsuite Results with CONFIG_UTRACE i686
Hello! Those are the test results on i686 F12 hosts with and without CONFIG_UTRACE. Interesting thing is that the results on quite different on two Intel hosts. gdb.sum is from without CONFIG_UTRACE. Thanks! CAI Qian ProLiant DL360 G4p (Intel) diff -u gdb.sum gdb-utrace.sum --- gdb.sum 2009-11-25 16:11:35.0 +0800 +++ gdb-utrace.sum 2009-11-25 16:10:45.0 +0800 @@ -1,4 +1,4 @@ -Test Run By root on Tue Nov 24 23:58:53 2009 +Test Run By root on Tue Nov 24 23:26:57 2009 Native configuration is i686-pc-linux-gnu === gdb tests === @@ -748,8 +748,8 @@ PASS: gdb.base/bigcore.exp: tbreak 269 PASS: gdb.base/bigcore.exp: continue PASS: gdb.base/bigcore.exp: next -PASS: gdb.base/bigcore.exp: extract next heap (stop at 50) -PASS: gdb.base/bigcore.exp: extract prev heap (stop at 50) +PASS: gdb.base/bigcore.exp: extract next heap +PASS: gdb.base/bigcore.exp: extract prev heap PASS: gdb.base/bigcore.exp: save heap size PASS: gdb.base/bigcore.exp: grab pid PASS: gdb.base/bigcore.exp: signal SIGABRT @@ -3718,7 +3718,7 @@ PASS: gdb.base/foll-fork.exp: set follow parent, cleanup Running ./gdb.base/follow-child.exp ... PASS: gdb.base/follow-child.exp: set follow-fork-mode child -PASS: gdb.base/follow-child.exp: break +FAIL: gdb.base/follow-child.exp: break Running ./gdb.base/foll-vfork.exp ... PASS: gdb.base/foll-vfork.exp: set verbose PASS: gdb.base/foll-vfork.exp: insert first vfork catchpoint @@ -13850,18 +13850,18 @@ PASS: gdb.pie/break.exp: breakpoint at start of multi line if conditional PASS: gdb.pie/break.exp: breakpoint at start of multi line while conditional PASS: gdb.pie/break.exp: breakpoint info -PASS: gdb.pie/break.exp: run until function breakpoint -PASS: gdb.pie/break.exp: run until breakpoint set at a line number -PASS: gdb.pie/break.exp: run until file:function(6) breakpoint -PASS: gdb.pie/break.exp: run until file:function(5) breakpoint -PASS: gdb.pie/break.exp: run until file:function(4) breakpoint -PASS: gdb.pie/break.exp: run until file:function(3) breakpoint -PASS: gdb.pie/break.exp: run until file:function(2) breakpoint -PASS: gdb.pie/break.exp: run until file:function(1) breakpoint -PASS: gdb.pie/break.exp: run until quoted breakpoint -PASS: gdb.pie/break.exp: run until file:linenum breakpoint +FAIL: gdb.pie/break.exp: run until function breakpoint +FAIL: gdb.pie/break.exp: run until breakpoint set at a line number +FAIL: gdb.pie/break.exp: run until file:function(6) breakpoint +FAIL: gdb.pie/break.exp: run until file:function(5) breakpoint +FAIL: gdb.pie/break.exp: run until file:function(4) breakpoint +FAIL: gdb.pie/break.exp: run until file:function(3) breakpoint +FAIL: gdb.pie/break.exp: run until file:function(2) breakpoint +FAIL: gdb.pie/break.exp: run until file:function(1) breakpoint +FAIL: gdb.pie/break.exp: run until quoted breakpoint +FAIL: gdb.pie/break.exp: run until file:linenum breakpoint (the program is no longer running) PASS: gdb.pie/break.exp: breakpoint offset +1 -PASS: gdb.pie/break.exp: step onto breakpoint +FAIL: gdb.pie/break.exp: step onto breakpoint (the program is no longer running) PASS: gdb.pie/break.exp: Temporary breakpoint function PASS: gdb.pie/break.exp: Temporary breakpoint function in file PASS: gdb.pie/break.exp: Temporary breakpoint line number #1 @@ -15465,8 +15465,8 @@ === gdb Summary === -# of expected passes 14562 -# of unexpected failures 115 +# of expected passes 14550 +# of unexpected failures 127 # of expected failures 40 # of untested testcases18 # of unsupported tests 7 HP Workstation XW4200 (Intel) $ diff -u gdb.sum gdb-utrace.sum --- gdb.sum 2009-11-25 16:17:09.0 +0800 +++ gdb-utrace.sum 2009-11-25 16:16:51.0 +0800 @@ -1,4 +1,4 @@ -Test Run By root on Wed Nov 25 01:02:04 2009 +Test Run By root on Wed Nov 25 00:26:48 2009 Native configuration is i686-pc-linux-gnu === gdb tests === @@ -748,8 +748,8 @@ PASS: gdb.base/bigcore.exp: tbreak 269 PASS: gdb.base/bigcore.exp: continue PASS: gdb.base/bigcore.exp: next -PASS: gdb.base/bigcore.exp: extract next heap (stop at 50) -PASS: gdb.base/bigcore.exp: extract prev heap (stop at 50) +PASS: gdb.base/bigcore.exp: extract next heap +PASS: gdb.base/bigcore.exp: extract prev heap PASS: gdb.base/bigcore.exp: save heap size PASS: gdb.base/bigcore.exp: grab pid PASS: gdb.base/bigcore.exp: signal SIGABRT @@ -3718,7 +3718,7 @@ PASS: gdb.base/foll-fork.exp: set follow parent, cleanup Running ./gdb.base/follow-child.exp ... PASS: gdb.base/follow-child.exp: set follow-fork-mode child -FAIL: gdb.base/follow-child.exp: break +PASS: gdb.base/follow-child.exp: break Running ./gdb.base/foll-vfork.exp ... PASS: gdb.base/foll-vfork.exp: set verbose PASS: gdb.base/foll-vfork.exp: insert first vfork catchpoint @@ -13850,18 +13850,18 @@ PASS: gdb.pie/break.exp: breakpoint at start of multi line if conditional PASS:
GDB Testsuite Results for CONFIG_UTRACE with biarch
Hello! Please find biarch testing results with or without CONFIG_UTRACE below from 2 Intel and 1 AMD CPU F12 x86_64 systems. gdb-32.sum was for 32-bit run with 32-bit GDB; while gdb-64.sum was for 32-bit run with 64-bit GDB. All logs can be found at, http://people.redhat.com/qcai/kratochvil/ Thanks! CAI Qian Dell PowerEdge 2850 (Intel) $ diff -u noutrace/gdb-32.sum utrace/gdb-32.sum --- noutrace/gdb-32.sum 2009-11-26 10:00:51.0 +0800 +++ utrace/gdb-32.sum 2009-11-26 09:58:52.0 +0800 @@ -1,4 +1,4 @@ -Test Run By root on Wed Nov 25 13:25:22 2009 +Test Run By root on Wed Nov 25 12:10:24 2009 Native configuration is i686-redhat-linux-gnu === gdb tests === @@ -5030,7 +5030,7 @@ PASS: gdb.base/foll-fork.exp: set follow parent, cleanup Running /rpmbuild/BUILD/gdb-7.0/gdb/testsuite/gdb.base/follow-child.exp ... PASS: gdb.base/follow-child.exp: set follow-fork-mode child -FAIL: gdb.base/follow-child.exp: break +PASS: gdb.base/follow-child.exp: break Running /rpmbuild/BUILD/gdb-7.0/gdb/testsuite/gdb.base/foll-vfork.exp ... PASS: gdb.base/foll-vfork.exp: set verbose PASS: gdb.base/foll-vfork.exp: insert first vfork catchpoint @@ -13463,7 +13463,7 @@ FAIL: gdb.java/jnpe.exp: run java next-over-throw FAIL: gdb.java/jnpe.exp: check for unwinder hook in java PASS: gdb.java/jnpe.exp: disable SIGSEGV for next-over-NPE -PASS: gdb.java/jnpe.exp: next over NPE +FAIL: gdb.java/jnpe.exp: next over NPE Running /rpmbuild/BUILD/gdb-7.0/gdb/testsuite/gdb.java/jprint.exp ... PASS: gdb.java/jprint.exp: set print sevenbit-strings PASS: gdb.java/jprint.exp: set language to java @@ -16270,8 +16270,8 @@ PASS: gdb.threads/attachstop-mt.exp: attach4 to stopped switch thread PASS: gdb.threads/attachstop-mt.exp: attach4 to stopped bt PASS: gdb.threads/attachstop-mt.exp: continue (attach4 continue) -PASS: gdb.threads/attachstop-mt.exp: attach4 stop by interrupt -PASS: gdb.threads/attachstop-mt.exp: attach4, exit leaves process sleeping +FAIL: gdb.threads/attachstop-mt.exp: attach4 stop by interrupt (timeout) +FAIL: gdb.threads/attachstop-mt.exp: attach4, exit leaves process sleeping Running /rpmbuild/BUILD/gdb-7.0/gdb/testsuite/gdb.threads/attach-stopped.exp ... PASS: gdb.threads/attach-stopped.exp: nonthreaded: set file, before attach1 to stopped process (re-read) PASS: gdb.threads/attach-stopped.exp: nonthreaded: attach1 to stopped, after setting file @@ -16286,7 +16286,7 @@ PASS: gdb.threads/attach-stopped.exp: threaded: set file, before attach1 to stopped process (re-read) PASS: gdb.threads/attach-stopped.exp: threaded: attach1 to stopped, after setting file PASS: gdb.threads/attach-stopped.exp: threaded: attach1 to stopped bt -FAIL: gdb.threads/attach-stopped.exp: threaded: attach1, exit leaves process stopped +PASS: gdb.threads/attach-stopped.exp: threaded: attach1, exit leaves process stopped PASS: gdb.threads/attach-stopped.exp: threaded: attach2 to stopped, after setting file PASS: gdb.threads/attach-stopped.exp: threaded: attach2 to stopped bt PASS: gdb.threads/attach-stopped.exp: continue (threaded: attach2 continue) @@ -16919,7 +16919,7 @@ PASS: gdb.threads/watchthreads2.exp: all threads started PASS: gdb.threads/watchthreads2.exp: watch x PASS: gdb.threads/watchthreads2.exp: set var test_ready = 1 -KFAIL: gdb.threads/watchthreads2.exp: gdb can drop watchpoints in multithreaded app (PRMS: gdb/10116) +PASS: gdb.threads/watchthreads2.exp: all threads incremented x Running /rpmbuild/BUILD/gdb-7.0/gdb/testsuite/gdb.threads/watchthreads.exp ... PASS: gdb.threads/watchthreads.exp: successfully compiled posix threads test case PASS: gdb.threads/watchthreads.exp: watch args[0] @@ -17139,7 +17139,7 @@ === gdb Summary === # of expected passes 14542 -# of unexpected failures 313 +# of unexpected failures 314 # of expected failures 40 # of untested testcases3 # of unresolved testcases 2 $ diff -u noutrace/gdb-64.sum utrace/gdb-64.sum --- noutrace/gdb-64.sum 2009-11-26 10:00:35.0 +0800 +++ utrace/gdb-64.sum 2009-11-26 09:58:11.0 +0800 @@ -1,4 +1,4 @@ -Test Run By root on Wed Nov 25 12:42:06 2009 +Test Run By root on Wed Nov 25 11:37:04 2009 Native configuration is x86_64-redhat-linux-gnu === gdb tests === @@ -5667,8 +5667,8 @@ UNRESOLVED: gdb.base/interrupt.exp: Send Control-C, second time ERROR: Undefined command signal SIGINT. UNRESOLVED: gdb.base/interrupt.exp: signal SIGINT -FAIL: gdb.base/interrupt.exp: echo more data (timeout) -FAIL: gdb.base/interrupt.exp: send end of file +PASS: gdb.base/interrupt.exp: echo more data +FAIL: gdb.base/interrupt.exp: send end of file (eof) Running /rpmbuild/BUILD/gdb-7.0/gdb/testsuite/gdb.base/jump.exp ... PASS: gdb.base/jump.exp: break before jump to non-call PASS: gdb.base/jump.exp: jump to non-call @@ -13452,7 +13452,7 @@ PASS: gdb.gdb/selftest.exp: Set xgdb prompt PASS: gdb.gdb/selftest.exp: send
GDB Testsuite Results with CONFIG_UTRACE
Hello! The test was conducted on linux-2.6-utrace utrace-ptrace branch with and without CONFIG_UTRACE. The machine was an Intel x86_64 system. Biarch and other testing are under way. Here is the diff, and the results look similar. Detailed logs can be found at, http://people.redhat.com/~qcai/{noutrace,utrace}/ # diff -u noutrace/gdb.sum utrace/gdb.sum --- noutrace/gdb.sum2009-11-24 04:11:05.439560175 -0500 +++ utrace/gdb.sum 2009-11-24 02:59:54.608446620 -0500 @@ -1,4 +1,4 @@ -Test Run By root on Tue Nov 24 03:19:40 2009 +Test Run By root on Tue Nov 24 02:20:46 2009 Native configuration is x86_64-unknown-linux-gnu === gdb tests === @@ -3773,7 +3773,7 @@ PASS: gdb.base/foll-fork.exp: default parent follow, no catchpoints PASS: gdb.base/foll-fork.exp: set follow parent PASS: gdb.base/foll-fork.exp: explicit show parent follow, no catchpoints -PASS: gdb.base/foll-fork.exp: explicit parent follow, no catchpoints +FAIL: gdb.base/foll-fork.exp: (timeout) explicit parent follow, no catchpoints PASS: gdb.base/foll-fork.exp: set follow child PASS: gdb.base/foll-fork.exp: explicit show child follow, no catchpoints PASS: gdb.base/foll-fork.exp: explicit child follow, no catchpoints @@ -3795,7 +3795,7 @@ PASS: gdb.base/foll-fork.exp: explicit parent follow, tcatch fork PASS: gdb.base/foll-fork.exp: set follow parent PASS: gdb.base/foll-fork.exp: set follow parent, tbreak -FAIL: gdb.base/foll-fork.exp: (timeout) set follow parent, hit tbreak +PASS: gdb.base/foll-fork.exp: set follow parent, hit tbreak PASS: gdb.base/foll-fork.exp: set follow parent, cleanup Running ./gdb.base/follow-child.exp ... PASS: gdb.base/follow-child.exp: set follow-fork-mode child @@ -14583,7 +14583,7 @@ PASS: gdb.threads/attachstop-mt.exp: attach3 to stopped, after setting file PASS: gdb.threads/attachstop-mt.exp: attach3 to stopped switch thread PASS: gdb.threads/attachstop-mt.exp: attach3 to stopped bt -FAIL: gdb.threads/attachstop-mt.exp: attach3, exit leaves process stopped +PASS: gdb.threads/attachstop-mt.exp: attach3, exit leaves process stopped PASS: gdb.threads/attachstop-mt.exp: attach4 to stopped, after setting file PASS: gdb.threads/attachstop-mt.exp: attach4 to stopped switch thread PASS: gdb.threads/attachstop-mt.exp: attach4 to stopped bt @@ -14604,7 +14604,7 @@ PASS: gdb.threads/attach-stopped.exp: threaded: set file, before attach1 to stopped process (re-read) PASS: gdb.threads/attach-stopped.exp: threaded: attach1 to stopped, after setting file PASS: gdb.threads/attach-stopped.exp: threaded: attach1 to stopped bt -FAIL: gdb.threads/attach-stopped.exp: threaded: attach1, exit leaves process stopped +PASS: gdb.threads/attach-stopped.exp: threaded: attach1, exit leaves process stopped PASS: gdb.threads/attach-stopped.exp: threaded: attach2 to stopped, after setting file PASS: gdb.threads/attach-stopped.exp: threaded: attach2 to stopped bt PASS: gdb.threads/attach-stopped.exp: continue (threaded: attach2 continue) @@ -14619,7 +14619,7 @@ PASS: gdb.threads/bt-clone-stop.exp: run FAIL: gdb.threads/bt-clone-stop.exp: 0x0 entry found Running ./gdb.threads/current-lwp-dead.exp ... -PASS: gdb.threads/current-lwp-dead.exp: continue to breakpoint: fn_return +FAIL: gdb.threads/current-lwp-dead.exp: continue to breakpoint: fn_return Running ./gdb.threads/execl.exp ... PASS: gdb.threads/execl.exp: successfully compiled posix threads test case PASS: gdb.threads/execl.exp: set breakpoint at execl @@ -15258,13 +15258,13 @@ PASS: gdb.threads/watchthreads.exp: successfully compiled posix threads test case PASS: gdb.threads/watchthreads.exp: watch args[0] PASS: gdb.threads/watchthreads.exp: watch args[1] -PASS: gdb.threads/watchthreads.exp: disable 2 -FAIL: gdb.threads/watchthreads.exp: threaded watch loop +PASS: gdb.threads/watchthreads.exp: disable 3 +PASS: gdb.threads/watchthreads.exp: threaded watch loop PASS: gdb.threads/watchthreads.exp: first watchpoint on args[0] hit PASS: gdb.threads/watchthreads.exp: first watchpoint on args[1] hit PASS: gdb.threads/watchthreads.exp: watchpoint on args[0] hit in thread PASS: gdb.threads/watchthreads.exp: watchpoint on args[1] hit in thread -FAIL: gdb.threads/watchthreads.exp: combination of threaded watchpoints = 30 +PASS: gdb.threads/watchthreads.exp: combination of threaded watchpoints = 30 Running ./gdb.threads/watchthreads-reorder.exp ... PASS: gdb.threads/watchthreads-reorder.exp: successfully compiled posix threads test case PASS: gdb.threads/watchthreads-reorder.exp: reorder0: set can-use-hw-watchpoints 1 @@ -15472,8 +15472,8 @@ === gdb Summary === -# of expected passes 14229 -# of unexpected failures 402 +# of expected passes 14232 +# of unexpected failures 399 # of unexpected successes 2 # of expected failures 40 # of untested testcases19 Thanks! CAI Qian
utrace tests
Hello! Sorry for the cross-posting. Wondering if there are some existing utrace tests that can be used for regression testing. There is a ntrace tests under, http://people.redhat.com/roland/utrace/old/ Are those tests still relevant? Thanks! CAI Qian