help-smalltalk
[Top][All Lists]
Advanced

[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

reply via email to

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