[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