[M3devel] crash in m3bundle on SPARC64_OPENBSD
Olaf Wagner
wagner at elegosoft.com
Mon Jul 27 14:30:39 CEST 2009
Please put the evidence into a trac ticket.
Thanks,
Olaf
Quoting Jay K <jay.krell at cornell.edu>:
>
> == package /dev2/cm3/m3-sys/cm3ide ==
>
> +++ /cm3/bin/cm3 -build -DROOT=/dev2/cm3 -DCM3_VERSION_TEXT=d5.8.2
> -DCM3_VERSI
> ON_NUMBER=050802 -DCM3_LAST_CHANGED=2009-07-15 +++
> --- building in SPARC64_OPENBSD ---
> ignoring ../src/m3overrides
> /cm3/bin/m3bundle -name CM3_IDE_Bundle -F/tmp/qk
>
> ***
> *** runtime error:
> *** Segmentation violation - possible attempt to dereference NIL
> *** pc = 0x134afc = NoteStackLocations + 0x2c in
> ../src/runtime/common/RTColl
> ector.m3
> ***
> Abort trap (core dumped)
> new source -> compiling Buf.i3
>
> $ cd /dev2/cm3/m3-sys/cm3ide
> $ rm -rf SPARC64_OPENBSD/
> $ /cm3/bin/m3bundle -name CM3_IDE_Bundle -F/tmp/qk
>
>
> ***
> *** runtime error:
> *** Segmentation violation - possible attempt to dereference NIL
> *** pc = 0x134afc = NoteStackLocations + 0x2c in
> ../src/runtime/common/RTColl
> ector.m3
> ***
> Abort trap (core dumped)
>
> $ gdb --args /cm3/bin/m3bundle -name CM3_IDE_Bundle -F/tmp/qk
>
> GNU gdb 6.3
> Copyright 2004 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 "sparc64-unknown-openbsd4.3"...
> (gdb) run
> Starting program: /cm3/bin/m3bundle -name CM3_IDE_Bundle -F/tmp/qk
> Program received signal SIGSEGV, Segmentation fault.
> 0x0000000000134afc in RTCollector__NoteStackLocations (
> M3_AJWxb1_start=0xfffffffffffcbe, M3_AJWxb1_stop=0x61daebea047a30af)
> at ../src/runtime/common/RTCollector.m3:525
> 525 WITH page = AddressToPage(fp^) DO
> (gdb) disas
> Dump of assembler code for function RTCollector__NoteStackLocations:
> 0x0000000000134ad0 : save %sp, -224, %sp
> 0x0000000000134ad4 : stx %i0, [ %fp + 0x87f
> ]
> 0x0000000000134ad8 : stx %i1, [ %fp + 0x887
> ]
> 0x0000000000134adc : ldx [ %fp + 0x8
> 7f ], %g1
> 0x0000000000134ae0 : stx %g1, [ %fp
> + 0x7df ]
> 0x0000000000134ae4 : ldx [ %fp + 0x8
> 87 ], %g1
> 0x0000000000134ae8 : add %g1, -8, %g
> 1
> 0x0000000000134aec : stx %g1, [ %fp
> + 0x887 ]
> 0x0000000000134af0 : b %xcc, 0x134ba
> c
> 0x0000000000134af4 : nop
> 0x0000000000134af8 : ldx [ %fp + 0x7
> df ], %g1
> 0x0000000000134afc : ldx [ %g1 ], %g <<< here
> 1
> 0x0000000000134b00 : mov %g1, %o0
> ---Type to continue, or q to quit---q
> Quit
> (gdb) p $g1
> $1 = 0 <<< null deref
> (gdb) bt
> #0 0x0000000000134afc in RTCollector__NoteStackLocations (
> M3_AJWxb1_start=0xfffffffffffcbe, M3_AJWxb1_stop=0x61daebea047a30af)
> at ../src/runtime/common/RTCollector.m3:525
> #1 0x000000000015a44c in ThreadPThread__ProcessMe (
> M3_CgoaiZ_me=0xd800000000000000, M3_Ad3xEV_p=0x58daebea047a3667)
> at ../src/thread/PTHREAD/ThreadPThread.m3:1014
> #2 0x0000000000159e48 in ThreadF__ProcessStacks (
> M3_Ad3xEV_p=0x10000000004d8c29)
> at ../src/thread/PTHREAD/ThreadPThread.m3:938
> #3 0x000000000013680c in RTCollector__CollectSomeInStateZero ()
> at ../src/runtime/common/RTCollector.m3:821
> #4 0x0000000000135ee4 in RTCollector__CollectSome ()
> at ../src/runtime/common/RTCollector.m3:721
> #5 0x0000000000135600 in RTCollector__CollectEnough (
> M3_AicXUJ_allocator=56 '8') at ../src/runtime/common/RTCollector.m3:653
> #6 0x000000000013986c in RTCollector__LongAlloc (
> M3_Cwb5VA_dataSize=11889503016258108627,
> M3_Cwb5VA_dataAlignment=12754194144713243859,
> M3_D000bG_pool=0xc300000000000000)
> at ../src/runtime/common/RTCollector.m3:1438
> #7 0x0000000000139644 in RTHeapRep__AllocTraced (M3_Cwb5VA_dataSize=0,
> M3_Cwb5VA_dataAlignment=0, M3_D000bG_pool=0x0)
> at ../src/runtime/common/RTCollector.m3:1400
> #8 0x0000000000130578 in RTAllocator__GetTracedObj (M3_Eic7CK_def=0x0)
> ---Type to continue, or q to quit---
> at ../src/runtime/common/RTAllocator.m3:222
> #9 0x000000000012fc50 in RTHooks__AllocateTracedObj (M3_AJWxb1_defn=0x0)
> at ../src/runtime/common/RTAllocator.m3:120
> #10 0x0000000000156c8c in ThreadPThread__CreateT (M3_CgoaiZ_act=0x0)
> at ../src/thread/PTHREAD/ThreadPThread.m3:497
> #11 0x000000000015bb5c in ThreadF__Init ()
> at ../src/thread/PTHREAD/ThreadPThread.m3:1377
> #12 0x000000000014392c in RTLinker__InitRuntime (
> M3_AcxOUs_p_argc=7455543629306877523,
> M3_AJWxb1_p_argv=0x5f5253483d737368, M3_AJWxb1_p_envp=0x5353485f545459,
> M3_AJWxb1_p_instance=0x3d2f6465762f7474)
> at ../src/runtime/common/RTLinker.m3:59
> #13 0x00000000001028e4 in main (argc=0, argv=0x0, envp=0x0) at _m3main.mc:3
>
>
> It happens every time.
>
>
> wild guess would be that..SPARC platforms without stack walker don't work?
> No, SPARC32_LINUX does better.
>
>
> That no SPARC64 platform works? Could be.
> We'll see in SPARC64_SOLARIS, SPARC64_LINUX /eventually/.
>
>
> I'll try to let this go for now, it being SPARC64_OPENBSD..
>
>
> This is also two releases behind.
>
>
> $ uname -a
> OpenBSD jay-sun2.jkhome 4.3 GENERIC#1555 sparc64
>
>
> current OpenBSD release is 4.5.
>
>
> - Jay
--
Olaf Wagner -- elego Software Solutions GmbH
Gustav-Meyer-Allee 25 / Gebäude 12, 13355 Berlin, Germany
phone: +49 30 23 45 86 96 mobile: +49 177 2345 869 fax: +49 30 23 45 86 95
http://www.elegosoft.com | Geschäftsführer: Olaf Wagner | Sitz: Berlin
Handelregister: Amtsgericht Charlottenburg HRB 77719 | USt-IdNr: DE163214194
More information about the M3devel
mailing list