Bug 5280 - testHpdBreakMultiThreadedContinue(frysk.hpd.TestBreakpoints)frysk.expunit.EofException: End-of-file encountered
Summary: testHpdBreakMultiThreadedContinue(frysk.hpd.TestBreakpoints)frysk.expunit.Eof...
Status: NEW
Alias: None
Product: frysk
Classification: Unclassified
Component: general (show other bugs)
Version: unspecified
: P2 normal
Target Milestone: ---
Assignee: Unassigned
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-11-07 12:15 UTC by Mark Wielaard
Modified: 2008-04-18 22:40 UTC (History)
1 user (show)

See Also:
Host:
Target:
Build:
Last reconfirmed:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Mark Wielaard 2007-11-07 12:15:42 UTC
This test fails because the fhpd crashes during the test run.

This crash only occurs on FC6 for me with:

Linux dijkstra.wildebeest.org 2.6.22.9-61.fc6 #1 SMP Thu Sep 27 18:07:59 EDT
2007 x86_64 x86_64 x86_64 GNU/Linux
libgcj-4.1.2-13.fc6
glibc-2.5-18.fc6

It seems fine on F8:
Linux hermans 2.6.23.1-42.fc8 #1 SMP Tue Oct 30 13:55:12 EDT 2007 i686 i686 i386
GNU/Linux
libgcj-4.1.2-33
glibc-2.7-2

It can be replicated by hand:

$ frysk-core/frysk/bindir/fhpd
(fhpd) run frysk-core/frysk/pkglibdir/funit-fib-clone 3
Attached to process 8308
(fhpd) break fib
breakpoint 0
(fhpd) go
(fhpd) Breakpoint 0 fib
viewset
Target set      pid     id
[0.0]   8308    8308
(fhpd) go
(fhpd) Breakpoint 0 fib
Breakpoint 0 fib
viewset
Target set      pid     id
[0.0]   8308    8308
[0.1]   8308    8322
[0.2]   8308    8323
(fhpd) where
[0.0]
[0.1]
#0 0x00000000004007c4 in fib(void * arg = 0x2)
/home/mark/src/git/frysk-obj/frysk-core/../../frysk/frysk-core/frysk/pkglibdir/funit-fib-clone.c#53
#1 0x000000356ea062f7 in start_thread () from /lib64/libpthread-2.5.so
#2 0x000000356dace86d in __clone () from /lib64/libc-2.5.so
[0.2]
#0 0x00000000004007c4 in fib(void * arg = 0x1)
/home/mark/src/git/frysk-obj/frysk-core/../../frysk/frysk-core/frysk/pkglibdir/funit-fib-clone.c#53
#1 0x000000356ea062f7 in start_thread () from /lib64/libpthread-2.5.so
#2 0x000000356dace86d in __clone () from /lib64/libc-2.5.so
(fhpd) go
(fhpd) *** glibc detected *** src/git/frysk-obj/frysk-core/frysk/bindir/fhpd:
malloc(): memory corruption: 0x0000000000dc46a0 ***
======= Backtrace: =========
/lib64/libc.so.6[0x356da6fba1]
/lib64/libc.so.6(__libc_malloc+0x7d)[0x356da70d5d]
/usr/lib64/libgcj.so.7rh(_Jv_Malloc+0x19)[0x3570375919]
/usr/lib64/libgcj.so.7rh(_ZN4java2io4File16getCanonicalPathEJPNS_4lang6StringEv+0x3f)[0x35703ab1af]
src/git/frysk-obj/frysk-core/frysk/bindir/fhpd[0x4e1ae2]
src/git/frysk-obj/frysk-core/frysk/bindir/fhpd[0x4e1cee]
src/git/frysk-obj/frysk-core/frysk/bindir/fhpd[0x51a034]
src/git/frysk-obj/frysk-core/frysk/bindir/fhpd[0x4f0841]
src/git/frysk-obj/frysk-core/frysk/bindir/fhpd[0x4f1f82]
src/git/frysk-obj/frysk-core/frysk/bindir/fhpd[0x51c798]
src/git/frysk-obj/frysk-core/frysk/bindir/fhpd[0x4f07b7]
src/git/frysk-obj/frysk-core/frysk/bindir/fhpd[0x521392]
src/git/frysk-obj/frysk-core/frysk/bindir/fhpd[0x5042c7]
src/git/frysk-obj/frysk-core/frysk/bindir/fhpd[0x5044da]
/usr/lib64/libgcj.so.7rh(_Z13_Jv_ThreadRunPN4java4lang6ThreadE+0x18)[0x35703b4638]
/usr/lib64/libgcj.so.7rh[0x35703baec7]
/usr/lib64/libgcj.so.7rh[0x3570afcf86]
/lib64/libpthread.so.0[0x356ea062f7]
/lib64/libc.so.6(clone+0x6d)[0x356dace86d]
======= Memory map: ========
00400000-00911000 r-xp 00000000 09:00 7074193                           
/home/mark/src/git/frysk-obj/frysk-core/frysk/bindir/fhpd
00b11000-00d78000 rw-p 00511000 09:00 7074193                           
/home/mark/src/git/frysk-obj/frysk-core/frysk/bindir/fhpd
00d78000-010fc000 rw-p 00d78000 00:00 0                                  [heap]
40000000-40001000 ---p 40000000 00:00 0
40001000-40a01000 rw-p 40001000 00:00 0
40a01000-40a02000 ---p 40a01000 00:00 0
40a02000-41402000 rw-p 40a02000 00:00 0
429e2000-42b7e000 r--p 00000000 09:00 15680564                          
/lib64/libc-2.5.so
42b7e000-42d1a000 r--p 00000000 09:00 15680564                          
/lib64/libc-2.5.so
42d1a000-42eb6000 r--p 00000000 09:00 15680564                          
/lib64/libc-2.5.so
42eb6000-43052000 r--p 00000000 09:00 15680564                          
/lib64/libc-2.5.so
43052000-431ee000 r--p 00000000 09:00 15680564                          
/lib64/libc-2.5.so
356d600000-356d61a000 r-xp 00000000 09:00 15680562                      
/lib64/ld-2.5.so
356d819000-356d81a000 r--p 00019000 09:00 15680562                      
/lib64/ld-2.5.so
356d81a000-356d81b000 rw-p 0001a000 09:00 15680562                      
/lib64/ld-2.5.so
356da00000-356db46000 r-xp 00000000 09:00 15680564                      
/lib64/libc-2.5.so
356db46000-356dd46000 ---p 00146000 09:00 15680564                      
/lib64/libc-2.5.so
356dd46000-356dd4a000 r--p 00146000 09:00 15680564                      
/lib64/libc-2.5.so
356dd4a000-356dd4b000 rw-p 0014a000 09:00 15680564                      
/lib64/libc-2.5.so
356dd4b000-356dd50000 rw-p 356dd4b000 00:00 0
356de00000-356de82000 r-xp 00000000 09:00 15680588                      
/lib64/libm-2.5.so
356de82000-356e081000 ---p 00082000 09:00 15680588                      
/lib64/libm-2.5.so
356e081000-356e082000 r--p 00081000 09:00 15680588                      
/lib64/libm-2.5.so
356e082000-356e083000 rw-p 00082000 09:00 15680588                      
/lib64/libm-2.5.so
356e200000-356e202000 r-xp 00000000 09:00 15680584                      
/lib64/libdl-2.5.so
356e202000-356e402000 ---p 00002000 09:00 15680584                      
/lib64/libdl-2.5.so
356e402000-356e403000 r--p 00002000 09:00 15680584                      
/lib64/libdl-2.5.so
356e403000-356e404000 rw-p 00003000 09:00 15680584                      
/lib64/libdl-2.5.so
356e600000-356e614000 r-xp 00000000 09:00 882967                        
/usr/lib64/libz.so.1.2.3
356e614000-356e813000 ---p 00014000 09:00 882967                        
/usr/lib64/libz.so.1.2.3
356e813000-356e814000 rw-p 00013000 09:00 882967                        
/usr/lib64/libz.so.1.2.3
356ea00000-356ea15000 r-xp 00000000 09:00 15680598                      
/lib64/libpthread-2.5.so
356ea15000-356ec14000 ---p 00015000 09:00 15680598                      
/lib64/libpthread-2.5.so
356ec14000-356ec15000 r--p 00014000 09:00 15680598                      
/lib64/libpthread-2.5.so
356ec15000-356ec16000 rw-p 00015000 09:00 15680598                      
/lib64/libpthread-2.5.so
356ec16000-356ec1a000 rw-p 356ec16000 00:00 0
356ee00000-3570eef000 r-xp 00000000 09:00 867343                        
/usr/lib64/libgcj.so.7rh.0.0
3570eef000-35710ef000 ---p 020ef000 09:00 867343                        
/usr/lib64/libgcj.so.7rh.0.0
35710ef000-3571948000 rw-p 020ef000 09:00 867343                        
/usr/lib64/libgcj.so.7rh.0.0
3571948000-35719c0000 rw-p 3571948000 00:00 0
3575c00000-3575c07000 r-xp 00000000 09:00 15680612                      
/lib64/librt-2.5.so
3575c07000-3575e07000 ---p 00007000 09:00 15680612                      
/lib64/librt-2.5.so
3575e07000-3575e08000 r--p 00007000 09:00 15680612                      
/lib64/librt-2.5.so
3575e08000-3575e09000 rw-p 00008000 09:00 15680612                      
/lib64/librt-2.5.so
3576000000-3576012000 r-xp 00000000 09:00 15681135                      
/lib64/libaudit.sAborted
Comment 1 Mark Wielaard 2007-11-07 16:51:58 UTC
Note that the autobuilder/tester on x86_64/f7 has this test as PASS:
http://build.alchar.org/cgi/showBuild?host=ca-tools4&pkg=frysk_fresh&date=20071107-015907
Comment 2 Sami Wagiaalla 2007-11-08 19:00:45 UTC
Test is broken for me on my x86_64 f7 machine

I dont know if this helps at all but this is what I got from git-bisect:
[swagiaal@toner frysk.bisect]$ git bisect good
58677c3da1a72166a3aa8a2a2a14a4ffca765b5c is first bad commit
commit 58677c3da1a72166a3aa8a2a2a14a4ffca765b5c
Author: Tim Moore <moore@blackbox.bricoworks.com>
Date:   Tue Nov 6 18:33:43 2007 +0100

    Fix errors from breakpoints when rerunning a program
    
    frysk-core/frysk/rt/ChangeLog:
    2007-11-06  Tim Moore  <timoore@redhat.com>
    
        * BreakpointManager.java (refreshBreakpoints): Enable breakpoint
        even if it has no state.
    
    frysk-core/frysk/stepping/ChangeLog
    2007-11-06  Tim Moore  <timoore@redhat.com>
    
        * SteppingEngine.java (ThreadLifeObservable.updateTerminated):
        Clean out the dead task and its siblings if necessary.

:040000 040000 85648bd60bce92e80001e70ccf2eff310e71a44a
749644302487c34e7f340ffca759310f4f3c8a1f M      frysk-core
Comment 3 Mark Wielaard 2008-04-18 22:40:24 UTC
It currently fails as follows:

 testHpdBreakMultiThreadedContinue(frysk.hpd.TestBreakpoints)frysk.expunit.TimeoutException:
timeout of 5000 milliseconds expired; expecting:  <<(Breakpoint 0 fib.*){2}>>;
buffer <<>>

This might be related to bug #5351 which looks like it has a similar failure mode.