help-smalltalk
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Help-smalltalk] Bus error while building GST 3.2 on SPARC Linux


From: Gabriel Cuvillier
Subject: Re: [Help-smalltalk] Bus error while building GST 3.2 on SPARC Linux
Date: Tue, 27 Jul 2010 19:18:44 +0200
User-agent: Thunderbird 2.0.0.24 (X11/20100411)


Hello,

I have applied the patch, but problems are still here:

./gst --no-user-files --kernel-dir "./kernel" --image gst.im -iQ /dev/null
/root/smalltalk-3.2/kernel/File.st:225: Aborted
/root/smalltalk-3.2/kernel/File.st:225: Error occurred while not in byte code interpreter!!
[0xffffffff]

Here is the result of the GDB session with the following commands :
-> handle SIGSEGV noprint
-> run
-> bt
-> x/4xw blk
-> x mem
-> info registers
-> x/184x h (just in case)

Don't hesitate to to ask for more

./libtool --mode=execute gdb --args ./gst --no-user-files --kernel-dir "./kernel" --image gst.im -iQ /dev/null
GNU gdb 6.3-debian
This GDB was configured as "sparc-linux"...Using host libthread_db library "/lib/libthread_db.so.1".
warning: not using untrusted file ".gdbinit"

(gdb) handle SIGSEGV noprint
Signal        Stop      Print   Pass to program Description
SIGSEGV       No        No      Yes             Segmentation fault

(gdb) run
Starting program: /root/smalltalk-3.2/.libs/lt-gst --no-user-files --kernel-dir ./kernel --image gst.im -iQ /dev/null
[Thread debugging using libthread_db enabled]
[New Thread 16384 (LWP 21110)]
Program received signal SIGBUS, Bus error.
[Switching to Thread 16384 (LWP 21110)]
_gst_mem_alloc (h=0x38fd8, sz=184) at alloc.c:222
222           blk->vSmall.free = mem->next;

(gdb) bt
#0  _gst_mem_alloc (h=0x38fd8, sz=184) at alloc.c:222
#1  0x20061054 in _gst_tenure_oop (oop=0x203bb888) at oop.c:736
#2  0x20062aac in tenure_one_object () at oop.c:1619
#3 0x20062a1c in queue_put (q=0x20113b38, src=0x244352c0, n=7) at oop.c:1548
#4  0x200634f0 in _gst_copy_an_oop (oop=0x203d7d80) at oop.c:2066
#5  0x20063124 in scan_grey_pages () at oop.c:1844
#6  0x20062e60 in copy_oops () at oop.c:1752
#7  0x200620cc in _gst_scavenge () at oop.c:1226
#8  0x200b2390 in activate_new_context (size=17, sendArgs=1) at interp.c:829
#9 0x200a0e04 in _gst_send_message_internal (sendSelector=0x11, sendArgs=1, receiver=0x2040f028, method_class=0x83) at interp-bc.inl:306
#10 0x200a9fd4 in _gst_interpret (processOOP=0x2040efd8) at vm.def:713
#11 0x200b48dc in _gst_nvmsg_send (receiver=0x203e7118, sendSelector=0x203acf00, args=0x3edb72f4, sendArgs=2) at interp.c:2271 #12 0x2008328c in _gst_va_msg_sendf (resultPtr=0x3edb750c, fmt=0x200d9580 "%s %o value: %o value: %o", ap=0x3edb7500) at callin.c:304 #13 0x20083b3c in _gst_msg_sendf (resultPtr=0x3edb750c, fmt=0x200d9580 "%s %o value: %o value: %o") at callin.c:379
#14 0x200551a8 in install_method (methodOOP=0x2040efc8) at comp.c:2637
#15 0x2005127c in _gst_compile_method (method=0x293190, returnLast=false, install=true) at comp.c:922
#16 0x20041540 in parse_method (p=0x3edb78d8, at_end=93) at gst-parse.c:1131
#17 0x2003fd24 in parse_class_definition (p=0x3edb78d8, classOOP=0x2040e170, extend=false) at gst-parse.c:868 #18 0x2003f4fc in parse_scoped_definition (p=0x3edb78d8, first_stmt=0x292c78) at gst-parse.c:523 #19 0x2003ed20 in parse_doit (p=0x3edb78d8, fail_at_eof=false) at gst-parse.c:462
#20 0x2003e144 in parse_chunks (p=0x3edb78d8) at gst-parse.c:364
#21 0x2003df0c in _gst_parse_chunks () at gst-parse.c:341
#22 0x200488a8 in _gst_parse_stream (method=false) at lex.c:1186
#23 0x2007f190 in _gst_process_file (fileName=0x0, dir=2544312) at input.c:846
#24 0x2003ccb0 in load_standard_files () at files.c:579
#25 0x2003c7d4 in _gst_initialize (kernel_dir=0x3edb7e75 "./kernel", image_file=0x3edb7e86 "gst.im", flags=5) at files.c:521
#26 0x00011324 in main (argc=141312, argv=0x3edb7d44) at main.c:385

(gdb) x/4xw blk
0x24720000:     0x000000c0      0x00000000      0x00000055      0x0000003d

(gdb) x mem
0x46141ede:     Cannot access memory at address 0x46141ede

(gdb) info registers
g0             0x0      0
g1             0x3d     61
g2             0xe      14
g3             0x200f7308       537883400
g4             0x200fd828       537909288
g5             0x4f664e65       1332104805
g6             0x10     16
g7             0x20298060       539590752
o0             0x38fd8  233432
o1             0x24720000       611450880
o2             0x0      0
o3             0x0      0
o4             0x2168f248       560525896
o5             0x115000 1134592
sp             0x3edb6a80       0x3edb6a80
o7             0x2008b4e8       537441512
l0             0x46141ede       1175723742
l1             0x1c     28
l2             0x1      1
l3             0x38ff4  233460
l4             0x80     128
l5             0x0      0
l6             0x894a8000       -1991606272
l7             0x200fa7d8       537896920
i0             0x38fd8  233432
i1             0xb8     184
i2             0x1c     28
i3             0x3      3
i4             0x18     24
i5             0x201b308c       538652812
fp             0x3edb6ae8       0x3edb6ae8
i7             0x2006104c       537268300
y              0x0      0
psr            0x83     131
wim            0x0      0
tbr            0x0      0
pc             0x2008b648       0x2008b648 <_gst_mem_alloc+360>
npc            0x2008b64c       0x2008b64c <_gst_mem_alloc+364>
fsr            0x0      0
csr            0x0      0

(gdb) x/184x h
0x38fd8:        0x24738000      0x247cc000      0x247ec000      0x247e4000
0x38fe8:        0x247b0000      0x24718000      0x247e8000      0x24720000
0x38ff8:        0x24730000      0x2476c000      0x24748000      0x2471c000
0x39008:        0x24750000      0x2472c000      0x2473c000      0x24714000
0x39018:        0x247f0000      0x2479c000      0x00000000      0x2477c000
0x39028:        0x247a4000      0x00000000      0x00000000      0x246f8000
0x39038:        0x00000000      0x00000000      0x00000000      0x00000000
0x39048:        0x00000000      0x00000000      0x00000000      0x00000000
0x39058:        0x00000000      0x00000000      0x00000000      0x00000000
0x39068:        0x00000000      0x00000000      0x00000000      0x00000000
0x39078:        0x00000000      0x00000000      0x00000000      0x00000000
0x39088:        0x00000000      0x00000000      0x00000000      0x00000000
0x39098:        0x000fc000      0x00020000      0x00400000      0x0000003f
0x390a8:        0x00000008      0x00000038      0x00000007      0x00000000
0x390b8:        0x200612bc      0x20061280      0x20061374      0x000000f1
0x390c8:        0x00000000      0x00000000      0x00000000      0x00000000
0x390d8:        0x00000000      0x00000000      0x00000000      0x00000000
0x390e8:        0x00000000      0x00000000      0x00000000      0x00000000
0x390f8:        0x00000000      0x00000000      0x00000000      0x00000000
0x39108:        0x00000000      0x00000000      0x00000000      0x00000000
0x39118:        0x00000000      0x00000000      0x00000000      0x00000000
0x39128:        0x00000000      0x00000000      0x00000000      0x00000000
0x39138:        0x00000000      0x00000000      0x00000000      0x00000000
0x39148:        0x00000000      0x00000000      0x00000000      0x00000000
0x39158:        0x00000000      0x00000000      0x00000000      0x00000000
0x39168:        0x00000000      0x00000000      0x00000000      0x00000000
0x39178:        0x00000000      0x00000000      0x00000000      0x00000000
0x39188:        0x00000000      0x00020000      0x00400000      0x00000000
0x39198:        0x00000000      0x00000000      0x00000000      0x00000000
0x391a8:        0x200612bc      0x20061280      0x20061374      0x00000011
0x391b8:        0x3c009674      0x20279674      0x203b1f30      0x00000011
0x391c8:        0x3e0095ac      0x202795ac      0x203b2040      0x00000011
0x391d8:        0x3d3d00ac      0x202795ac      0x203b21b0      0x00000011
0x391e8:        0x3c009644      0x20279644      0x00000040      0x00000011
0x391f8:        0x3e0095ac      0x202795ac      0x00039fd8      0x00000011
0x39208:        0x7e3d0024      0x20279624      0x00000040      0x00000011
0x39218:        0x3c009614      0x20279614      0x00000040      0x00000011
0x39228:        0x3e0095ac      0x202795ac      0x00000000      0x00000011
0x39238:        0x3c0095c4      0x202795c4      0x00000000      0x00000011
0x39248:        0x3e0095ac      0x202795ac      0x00000010      0x00000011
0x39258:        0x3c0095ac      0x202795ac      0x00000000      0x00000011
0x39268:        0x3e0095c4      0x202795c4      0x00000000      0x00000011
0x39278:        0x3e3e00b4      0x202795b4      0x00000010      0x00000021
0x39288:        0x00000000      0x00000000      0x00039470      0x00000001
0x39298:        0x20113bd0      0x20113bd4      0x00000001      0x00000019
0x392a8:        0x00231528      0x246f8000      0x00001000      0x00000000

Good luck :)

Bruno Haible a écrit :
Paolo Bonzini wrote:
It is mmaping files, but the particular spot where the SIGBUS is happening means that the area was anonymously mapped. The mmaped file includes object data which is not movable and is not reused when an object inside there dies. Instead oldspace is an anonymous mmap and it is a full-blown memory heap with malloc (_gst_mem_alloc) and free (_gst_mem_free).

Yes, it should be safe then.

Another reason for SIGBUS - on SPARC systems, never ocurring on x86 systems -
is an unaligned address, for example an 'ld' instruction on an address that
is not a multiple of 4, or an 'ldd' instruction on an address that is not a
multiple of 8 (e.g. if it crosses a page boundary...).

Let's wait for Gabriel's experiment.

Yes. And it would be useful to see the values of 'blk', 'mem', and of the
CPU registers in
<http://lists.gnu.org/archive/html/help-smalltalk/2010-07/msg00017.html>.

Bruno





reply via email to

[Prev in Thread] Current Thread [Next in Thread]