views:

1295

answers:

2

Short Q.: What does this exception mean? "EXC_BAD_ACCESS (0x0001)"

Full Q.: How can I use this error log info (and thread particulars that I omitted here) to diagnosis this app crash? (NB: I have no expertise with crash logs or OS kernels.)

In this case, my email client (Eudora) crashes immediately on launch, every time, after no apparent system changes.

Host Name:      [name of Mac]
Date/Time:      2008-09-28 14:46:54.177 -0400
OS Version:     10.4.11 (Build 8S165)
Report Version: 4
Command: Eudora
Path:    /Applications/[...]/Eudora Application Folder/Eudora.app/Contents/MacOS/Eudora
Parent:  WindowServer [59]
Version: 6.2.4 (6.2.4)
PID:    231
Thread: 0
Exception:  EXC_BAD_ACCESS (0x0001)
Codes:      KERN_PROTECTION_FAILURE (0x0002) at 0x00000001
+2  A: 

To answer your short question: EXC_BAD_ACCESS means an illegal memory access. This means that the program tried to use a memory location outside its virtual address space (roughly speaking, the area of memory it has requested from the OS kernel). This is what Unix people typically call a "segmentation fault" (segfault), and what Windows people typically call an "access violation" (AV) or "general protection fault" (GPF). (Yes, you probably already knew that. But I'm just making sure...)

Does the crash report say what memory address was being referenced? Does the report include the call stack or a core dump? All three are very valuable, especially the core dump as you can load it into the debugger and restart the program right from the point of the exception. And if the memory address seems totally out of whack (in the higher half of the virtual address, or very close to 0, then you have a good clue where the problem lies).

crosstalk
+2  A: 

Just to complete Michael's answer - analyzing the crash log is not what you are supposed to do. The eudora programmers screwed up (or the people providing the tools the eudora programmers use to make eudora). The best thing you can do is copy and paste the entire contents of the crash log in to a mail client (try MAIL, as you can't seem to use eudora, right now, hahaha), and send it to [email protected] along with a short description of what's happening. It's their job to figure out what went wrong.

Maximilian Tyrtania