[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