[M3devel] CM3 d5.5.0 CVSup client issues.

Tony Hosking hosking at cs.purdue.edu
Fri Oct 5 20:14:45 CEST 2007


Good news.  I have finally managed to track things down.  Basically,  
the problems occur with the old libpthread -- we need to make sure we  
link to the new one  (/usr/lib/lwp/libpthread.*) which also happens  
to be the default on newer Solaris versions.  Using this library I  
can rely on signals to stop threads (even those waiting inside  
pthread calls) just as I do for LINUXLIBC6.  I will be checking in an  
updated ThreadPThread and fixed cm3.cfg shortly.   I hope you can  
test your installation once I have done this -- hopefully you will be  
happy... :-)

Cheers,

Tony

On Oct 5, 2007, at 12:42 PM, Alex Bochannek wrote:

> OK, here's what I get now.
>
> Without @M3paranoidgc:
>
> bash-3.00# m3gdb cvsup
> GNU gdb plus Modula-3 6.4
> Copyright 2005 Free Software Foundation, Inc.
> GDB is free software, covered by the GNU General Public License,  
> and you are
> welcome to change it and/or distribute copies of it under certain  
> conditions.
> Type "show copying" to see the conditions.
> There is absolutely no warranty for GDB.  Type "show warranty" for  
> details.
> This GDB was configured as "sparc-sun-solaris2"...
> (m3gdb) dir cm3/m3-libs/m3core/src/runtime/common/:/opt/cm3/cvsup- 
> snap-16.1h/suplib/src:/opt/cm3/cvsup-snap-16.1h/client/src/
> Source directories searched: /opt/cm3/cm3/m3-libs/m3core/src/ 
> runtime/common:/opt/cm3/cvsup-snap-16.1h/suplib/src:/opt/cm3/cvsup- 
> snap-16.1h/client/src:$cdir:$cwd
> (m3gdb) set args -g cvsupfile.cm3
> (m3gdb) r
> Starting program: /usr/local/bin/cvsup -g cvsupfile.cm3
> warning: Lowest section in /lib/libw.so.1 is .dynamic at 00000074
> warning: Lowest section in /lib/libdl.so.1 is .dynamic at 00000094
> warning: Lowest section in /lib/libpthread.so.1 is .dynamic at  
> 00000074
> warning: Lowest section in /lib/libthread.so.1 is .dynamic at 00000074
> [New LWP 1]
> [New LWP 2]
> [New LWP 3]
> [New LWP 4]
> Connected to birch.elegosoft.com
> [New LWP 5]
> [New LWP 6]
> [New LWP 7]
> [New LWP 8]
> [New LWP 9]
> [New LWP 10]
> [New LWP 11]
> Updating collection cm3/cvs
>  SetAttrs cm3/COPYRIGHT-BSD,v
>  SetAttrs cm3/COPYRIGHT-CMASS,v
>  SetAttrs cm3/COPYRIGHT-COLUMBIA,v
>  SetAttrs cm3/COPYRIGHT-DEC,v
>  SetAttrs cm3/COPYRIGHT-JDP,v
>  SetAttrs cm3/COPYRIGHT-PURDUE,v
>  SetAttrs cm3/COPYRIGHT-XEROX,v
>  SetAttrs cm3/COPYRIGHTS,v
>  SetAttrs cm3/README,v
>  SetAttrs cm3/caltech-parser/COPYRIGHT,v
>  SetAttrs cm3/caltech-parser/Makefile,v
>  SetAttrs cm3/caltech-parser/PkgTags,v
>  SetAttrs cm3/caltech-parser/README,v
>  SetAttrs cm3/caltech-parser/README.cm3,v
>  SetAttrs cm3/caltech-parser/cit_common/.cvsignore,v
>  SetAttrs cm3/caltech-parser/cit_common/Makefile,v
>  SetAttrs cm3/caltech-parser/cit_common/PkgTags,v
>  SetAttrs cm3/caltech-parser/cit_common/src/TextReader.i3,v
>  SetAttrs cm3/caltech-parser/cit_common/src/TextReader.m3,v
>  SetAttrs cm3/caltech-parser/cit_common/src/m3makefile,v
>  SetAttrs cm3/caltech-parser/cit_common/src/m3overrides,v
>  SetAttrs cm3/caltech-parser/cit_util/.cvsignore,v
>  SetAttrs cm3/caltech-parser/cit_util/Makefile,v
>  SetAttrs cm3/caltech-parser/cit_util/PkgTags,v
>  SetAttrs cm3/caltech-parser/cit_util/src/ArrayRef.ig,v
>  SetAttrs cm3/caltech-parser/cit_util/src/ArrayRef.mg,v
>  SetAttrs cm3/caltech-parser/cit_util/src/BrandedSet.ig,v
>  SetAttrs cm3/caltech-parser/cit_util/src/BrandedSet.mg,v
>  SetAttrs cm3/caltech-parser/cit_util/src/COPYRIGHT,v
>  SetAttrs cm3/caltech-parser/cit_util/src/DblRefany.i3,v
>  SetAttrs cm3/caltech-parser/cit_util/src/DblTable.ig,v
>  SetAttrs cm3/caltech-parser/cit_util/src/DblTable.mg,v
>  SetAttrs cm3/caltech-parser/cit_util/src/Debug.i3,v
>  SetAttrs cm3/caltech-parser/cit_util/src/Debug.m3,v
>  SetAttrs cm3/caltech-parser/cit_util/src/Equivalence.ig,v
>  SetAttrs cm3/caltech-parser/cit_util/src/Equivalence.mg,v
>  SetAttrs cm3/caltech-parser/cit_util/src/KeyPair.ig,v
>  SetAttrs cm3/caltech-parser/cit_util/src/KeyPair.mg,v
>  SetAttrs cm3/caltech-parser/cit_util/src/OpenArrayTable.ig,v
>  SetAttrs cm3/caltech-parser/cit_util/src/OpenArrayTable.mg,v
>  SetAttrs cm3/caltech-parser/cit_util/src/RTBrand.i3,v
>  SetAttrs cm3/caltech-parser/cit_util/src/RTBrand.m3,v
>  SetAttrs cm3/caltech-parser/cit_util/src/Ref.ig,v
>  SetAttrs cm3/caltech-parser/cit_util/src/Ref.mg,v
>  SetAttrs cm3/caltech-parser/cit_util/src/SIsuffix.i3,v
>  SetAttrs cm3/caltech-parser/cit_util/src/SIsuffix.m3,v
>  SetAttrs cm3/caltech-parser/cit_util/src/TextSubs.i3,v
>  SetAttrs cm3/caltech-parser/cit_util/src/TextSubs.m3,v
>  SetAttrs cm3/caltech-parser/cit_util/src/TextTextTblExtras.i3,v
>
> Program received signal SIGSEGV, Segmentation fault.
> [Switching to LWP 11]
> 0x0045ac34 in Length (t=16_000000fe) at Text.m3:16
> 16      Text.m3: No such file or directory.
>         in Text.m3
> (m3gdb) bt
> #0  0x0045ac34 in Length (t=16_000000fe) at Text.m3:16
> #1  0x0036d2a8 in PathCompare (a=16_000000fe, b=16_000000fe) at  
> SupMiscText.m3:166
> #2  0x00355734 in Compare (a=16_000000fe, b=16_000000fe) at  
> FileStatus.m3:67
> #3  0x0035a95c in WrPut (ww=16_000000fe, fs=16_000000fe) at  
> FileStatus.m3:505
> #4  0x0035e5a0 in Get (self=16_000000fe, name=16_000000fe,  
> isDirUp=FALSE, deleteTo=FALSE) at StatusFile.m3:151
> #5  0x0035f434 in Put (self=16_000000fe, fs=16_000000fe) at  
> StatusFile.m3:214
> #6  0x0008938c in UpdateCheckoutInfo (self=16_000000fe,  
> sfr=16_000000fe, name=16_000000fe, tag=16_000000fe,  
> date=16_000000fe, revNum=16_000000fe, revDate=16_000000fe,  
> rcsAttr=16_000000fe) at Updater.m3:869
> #7  0x00083c80 in UpdateCollection (self=16_000000fe,  
> sfr=16_000000fe, isFixups=FALSE) at Updater.m3:435
> #8  0x000800e0 in UpdateBatch (self=16_000000fe, isFixups=FALSE) at  
> Updater.m3:151
> #9  0x0007f508 in Apply (self=16_000000fe) at Updater.m3:90
> #10 0x0044b0c8 in RunThread (me=NIL) at ThreadPThread.m3:540
> #11 0x0044acc4 in ThreadBase (param=NIL) at ThreadPThread.m3:521
> #12 0xfeebfff8 in _lwp_start () from /lib/libc.so.1
> #13 0xfeebfff8 in _lwp_start () from /lib/libc.so.1
> Previous frame identical to this frame (corrupt stack?)
> (m3gdb) shell
> bash-3.00# find /opt/cm3/cm3 -name Text.m3
> /opt/cm3/cm3/m3-libs/m3core/src/text/Text.m3
> bash-3.00# exit
> exit
> (m3gdb) dir /opt/cm3/cm3/m3-libs/m3core/src/text
> Source directories searched: /opt/cm3/cm3/m3-libs/m3core/src/text:/ 
> opt/cm3/cm3/m3-libs/m3core/src/runtime/common:/opt/cm3/cvsup- 
> snap-16.1h/suplib/src:/opt/cm3/cvsup-snap-16.1h/client/src:$cdir:$cwd
> (m3gdb) bt
> #0  0x0045ac34 in Length (t=16_000000fe) at Text.m3:16
> #1  0x0036d2a8 in PathCompare (a=16_000000fe, b=16_000000fe) at  
> SupMiscText.m3:166
> #2  0x00355734 in Compare (a=16_000000fe, b=16_000000fe) at  
> FileStatus.m3:67
> #3  0x0035a95c in WrPut (ww=16_000000fe, fs=16_000000fe) at  
> FileStatus.m3:505
> #4  0x0035e5a0 in Get (self=16_000000fe, name=16_000000fe,  
> isDirUp=FALSE, deleteTo=FALSE) at StatusFile.m3:151
> #5  0x0035f434 in Put (self=16_000000fe, fs=16_000000fe) at  
> StatusFile.m3:214
> #6  0x0008938c in UpdateCheckoutInfo (self=16_000000fe,  
> sfr=16_000000fe, name=16_000000fe, tag=16_000000fe,  
> date=16_000000fe, revNum=16_000000fe, revDate=16_000000fe,  
> rcsAttr=16_000000fe) at Updater.m3:869
> #7  0x00083c80 in UpdateCollection (self=16_000000fe,  
> sfr=16_000000fe, isFixups=FALSE) at Updater.m3:435
> #8  0x000800e0 in UpdateBatch (self=16_000000fe, isFixups=FALSE) at  
> Updater.m3:151
> #9  0x0007f508 in Apply (self=16_000000fe) at Updater.m3:90
> #10 0x0044b0c8 in RunThread (me=NIL) at ThreadPThread.m3:540
> #11 0x0044acc4 in ThreadBase (param=NIL) at ThreadPThread.m3:521
> #12 0xfeebfff8 in _lwp_start () from /lib/libc.so.1
> #13 0xfeebfff8 in _lwp_start () from /lib/libc.so.1
> (m3gdb) list
> 11      TYPE Info = TextClass.Info;
> 12
> 13      PROCEDURE Length (t: T): CARDINAL =
> 14        VAR i: Info;
> 15        BEGIN
> 16          t.get_info (i);
> 17          RETURN i.length;
> 18        END Length;
> 19
> 20      PROCEDURE Empty (t: T): BOOLEAN =
> (m3gdb)
>
>
> And with @M3paranoidgc:
>
> bash-3.00# m3gdb cvsup
> GNU gdb plus Modula-3 6.4
> Copyright 2005 Free Software Foundation, Inc.
> GDB is free software, covered by the GNU General Public License,  
> and you are
> welcome to change it and/or distribute copies of it under certain  
> conditions.
> Type "show copying" to see the conditions.
> There is absolutely no warranty for GDB.  Type "show warranty" for  
> details.
> This GDB was configured as "sparc-sun-solaris2"...
> (m3gdb) dir /opt/cm3/cm3/m3-libs/m3core/src/text:cm3/m3-libs/m3core/ 
> src/runtime/common/:/opt/cm3/cvsup-snap-16.1h/suplib/src:/opt/cm3/ 
> cvsup-snap-16.1h/client/src/
> Source directories searched: /opt/cm3/cm3/m3-libs/m3core/src/text:/ 
> opt/cm3/cm3/m3-libs/m3core/src/runtime/common:/opt/cm3/cvsup- 
> snap-16.1h/suplib/src:/opt/cm3/cvsup-snap-16.1h/client/src:$cdir:$cwd
> (m3gdb) set args @M3paranoidgc -g cvsupfile.cm3
> (m3gdb) r
> Starting program: /usr/local/bin/cvsup @M3paranoidgc -g cvsupfile.cm3
> warning: Lowest section in /lib/libw.so.1 is .dynamic at 00000074
> warning: Lowest section in /lib/libdl.so.1 is .dynamic at 00000094
> warning: Lowest section in /lib/libpthread.so.1 is .dynamic at  
> 00000074
> warning: Lowest section in /lib/libthread.so.1 is .dynamic at 00000074
> [New LWP 1]
> [New LWP 2]
> [New LWP 3]
> [New LWP 4]
> Connected to birch.elegosoft.com
> [New LWP 5]
> [New LWP 6]
> [New LWP 7]
> [New LWP 8]
> [New LWP 9]
> [New LWP 10]
> [New LWP 11]
>
>
> ***
> *** runtime error:
> ***    <*ASSERT*> failed.
> ***    file "../src/runtime/common/RTCollector.m3", line 1770
> ***
>
>
> Program received signal SIGABRT, Aborted.
> [Switching to LWP 9]
> 0xfeec11e4 in _lwp_kill () from /lib/libc.so.1
> (m3gdb) bt
> #0  0xfeec11e4 in _lwp_kill () from /lib/libc.so.1
> #1  0xfee5fde0 in raise () from /lib/libc.so.1
> #2  0xfee40000 in abort () from /lib/libc.so.1
> #3  0x004416ec in Crash () at RTOS.m3:20
> #4  0x00437810 in Crash (msg=NIL) at RTProcess.m3:65
> #5  0x0043477c in EndError (crash=FALSE) at RTError.m3:115
> #6  0x004342dc in MsgS (file=NIL, line=0, msgA=NIL, msgB=NIL,  
> msgC=NIL) at RTError.m3:40
> #7  0x00434e9c in Crash (a=Cannot access memory at address 0xfe
> ) at RTException.m3:79
> #8  0x00434a38 in DefaultBackstop (a=Cannot access memory at  
> address 0xfe
> ) at RTException.m3:39
> #9  0x004348f4 in InvokeBackstop (a=Cannot access memory at address  
> 0xfe
> ) at RTException.m3:25
> #10 0x004434b8 in Raise (act=Cannot access memory at address 0xfe
> ) at RTExStack.m3:34
> #11 0x00434b34 in DefaultBackstop (a=Cannot access memory at  
> address 0xfe
> ) at RTException.m3:47
> #12 0x004348f4 in InvokeBackstop (a=Cannot access memory at address  
> 0xfe
> ) at RTException.m3:25
> #13 0x004434b8 in Raise (act=Cannot access memory at address 0xfe
> ) at RTExStack.m3:34
> #14 0x0041aa58 in ReportFault (module=NIL, info=0) at RTHooks.m3:110
> #15 0x00430b04 in _m3_fault (arg=0)
> #16 0x00427f5c in RefSanityCheck (v=16_000000fe, cp=16_000000fe) at  
> RTCollector.m3:1770
> #17 0x0046d7f8 in Walk (x=16_000000fe, pc=NIL, v=16_000000fe) at  
> RTHeapMap.m3:193
> #18 0x0046cc70 in DoWalkRef (t=NIL, a=16_000000fe, v=16_000000fe)  
> at RTHeapMap.m3:62
> #19 0x0046cc30 in DoWalkRef (t=NIL, a=16_000000fe, v=16_000000fe)  
> at RTHeapMap.m3:57
> #20 0x0046cbb0 in WalkRef (h=16_000000fe, v=16_000000fe) at  
> RTHeapMap.m3:47
> #21 0x00427704 in SanityCheck (self=16_000000fe) at  
> RTCollector.m3:1723
> #22 0x00426f4c in After (self=16_000000fe) at RTCollector.m3:1694
> #23 0x0041e060 in InvokeMonitors (before=FALSE) at RTHeapRep.m3:59
> #24 0x00422f54 in CollectSomeInStateFive () at RTCollector.m3:992
> #25 0x004217dc in CollectSome () at RTCollector.m3:744
> #26 0x00420e04 in CollectEnough () at RTCollector.m3:654
> #27 0x00425724 in AllocTraced (def=NIL, dataSize=0,  
> dataAlignment=0, initProc=Cannot access memory at address 0xfe
> ) at RTCollector.m3:1413
> #28 0x0041c02c in GetTracedObj (def=NIL) at RTAllocator.m3:223
> #29 0x0041b9c4 in AllocateTracedObj (defn=NIL) at RTAllocator.m3:141
> #30 0x0046076c in Sub (t=16_000000fe, start=0, length=127) at  
> TextSub.m3:78
> #31 0x00354374 in PathLast (p=16_000000fe) at SupMisc.m3:431
> #32 0x00074844 in PutCollectionList (self=16_000000fe,  
> sfr=16_000000fe) at TreeList.m3:477
> #33 0x000709c8 in ListCollection (self=16_000000fe,  
> sfr=16_000000fe) at TreeList.m3:136
> #34 0x0006fb84 in Apply (self=16_000000fe) at TreeList.m3:65
> #35 0x0044b0c8 in RunThread (me=NIL) at ThreadPThread.m3:540
> #36 0x0044acc4 in ThreadBase (param=NIL) at ThreadPThread.m3:521
> #37 0xfeebfff8 in _lwp_start () from /lib/libc.so.1
> #38 0xfeebfff8 in _lwp_start () from /lib/libc.so.1
> Previous frame identical to this frame (corrupt stack?)
> (m3gdb)
>
>
> Alex.




More information about the M3devel mailing list