[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Help-smalltalk] Re: [call for testing] intel mac crashes
From: |
Stephen Compall |
Subject: |
[Help-smalltalk] Re: [call for testing] intel mac crashes |
Date: |
Tue, 08 May 2007 02:59:14 -0500 |
User-agent: |
Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.1.2) Gecko/20070221 SeaMonkey/1.1.1 |
Paolo Bonzini wrote:
Okay. The failure address is 0x600e018, 24 bytes after 0x600e000,
which is the value of blk. By my count, that is an attempt to access
the unused long double data[1] field. ???
i.e. to access the allocated memory...
I've lost it now, but I think the specific error reported by the OS
referred to memory write protection, not reading. Regardless, there
doesn't appear to be an access of blk->vSmall.data here.
Just in case, I tried changing noreserve_reserve's mmap call to turn off
protections, but got the same result.
Okay, I *wasn't* suspicious of _gst_mem_protect, and OH.
_gst_mem_protect (addr=0x600e000, len=4096, prot=1)
(where arg 3 is PROT_READ)
Attached is a complete list of calls to anon_mmap_commit and
_gst_mem_protect. I'll do further examination tomorrow when I don't
want to sleep anymore. :)
For those without instant access to the error in question, it is on this
line
blk->vSmall.free = mem->next;
and here is the error:
Exception: EXC_BAD_ACCESS (0x0001)
Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x0600e018
Thread 0 Crashed:
0 gst 0x00051a77 _gst_mem_alloc + 308 (alloc.c:248)
1 gst 0x00012e04 _gst_tenure_oop + 90 (oop.c:759)
2 gst 0x00014d31 tenure_one_object + 241 (oop.c:1562)
3 gst 0x00014b7e queue_put + 76 (oop.c:1490)
4 gst 0x000159e3 _gst_copy_an_oop + 435 (oop.c:1980)
5 gst 0x000157a1 cheney_scan + 394 (oop.c:1917)
6 gst 0x00015313 scan_grey_pages + 384 (oop.c:1729)
7 gst 0x00015159 copy_oops + 237 (oop.c:1691)
8 gst 0x0001415d _gst_scavenge + 611 (oop.c:1205)
9 gst 0x00098978 alloc_new_chunk + 69 (interp.c:820)
10 gst 0x00098c27 alloc_stack_context + 124 (interp.c:861)
11 gst 0x00098a3f activate_new_context + 64 (interp.c:883)
12 gst 0x0007e2a0 _gst_send_message_internal + 963 (interp-bc.inl:302)
13 gst 0x0008253a _gst_interpret + 14952 (vm.def:644)
14 gst 0x0009adf1 _gst_nvmsg_send + 665 (interp.c:2144)
15 gst 0x00005b76 _gst_execute_statements + 850 (comp.c:664)
16 gst 0x0009c9f3 parse_doit + 299 (gst-parse.c:464)
17 gst 0x0009c2b2 parse_chunks + 100 (gst-parse.c:348)
18 gst 0x0009c19b _gst_parse_chunks + 157 (gst-parse.c:334)
19 gst 0x0000513a _gst_parse_stream + 122 (lex.c:1196)
20 gst 0x000028fa process_file + 130 (lib.c:847)
21 gst 0x000025ac load_standard_files + 123 (lib.c:743)
22 gst 0x00001e8f gst_init_smalltalk + 700 (lib.c:536)
23 gst 0x00001b94 main + 30 (main.c:75)
24 gst 0x00001b1e _start + 228 (crt.c:272)
25 gst 0x00001a39 start + 41
--
;;; Stephen Compall ** http://scompall.nocandysw.com/blog **
Failure to imagine vast possibilities usually stems from a lack of
imagination, not a lack of possibility.
Breakpoint 2 at 0x4906b: file sysdep.c, line 275.
Breakpoint 3 at 0x4ab27: file sysdep.c, line 1781.
Breakpoint 3, anon_mmap_commit (base=0x2008000, size=4096)
anon_mmap_commit (base=0x2009000, size=1052672)
anon_mmap_commit (base=0x6008000, size=4096)
anon_mmap_commit (base=0x6009000, size=131072)
anon_mmap_commit (base=0x6029000, size=131072)
anon_mmap_commit (base=0x6049000, size=131072)
anon_mmap_commit (base=0x6069000, size=131072)
Breakpoint 2, _gst_mem_protect (addr=0x600b000, len=4096, prot=1)
_gst_mem_protect (addr=0x600c000, len=4096, prot=1)
_gst_mem_protect (addr=0x600e000, len=4096, prot=1)
_gst_mem_protect (addr=0x600f000, len=4096, prot=1)
_gst_mem_protect (addr=0x6010000, len=4096, prot=1)
_gst_mem_protect (addr=0x6011000, len=4096, prot=1)
_gst_mem_protect (addr=0x6013000, len=4096, prot=1)
_gst_mem_protect (addr=0x6014000, len=4096, prot=1)
_gst_mem_protect (addr=0x6015000, len=4096, prot=1)
_gst_mem_protect (addr=0x6016000, len=4096, prot=1)
_gst_mem_protect (addr=0x6017000, len=4096, prot=1)
_gst_mem_protect (addr=0x6018000, len=4096, prot=1)
_gst_mem_protect (addr=0x6019000, len=4096, prot=1)
(gdb)
Continuing.
Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_PROTECTION_FAILURE at address: 0x0600e018
0x00051a77 in _gst_mem_alloc (h=0x400fe0, sz=8) at alloc.c:248