Hello,
I am looking into dmp files which we collect when our application crashes. Using google breakpad/stackwalking I am generating the stacktrace. The crash looks like this:
Crash reason: EXC_BAD_ACCESS / 0x0000000d
Crash address: 0x0
Thread 10 (crashed)
0 psqlodbcw.so!SC_Execute + 0x10bd
I couldn't get the source line so I had to dig through the assembly.
I was able to determine the error is happening on line statement.c line 2191 (from the latest version in the repository).
numcols = QR_NumResultCols(tres);
(this expands to)
numcols = tres->fields->num_fields
The crash happens on the dereference of fields. It could be a null pointer, I'm not sure because I can't reproduce the error.
Apparently EXC_BAD_ACCESS can be SIGSEGV or SIGBUS.
I have generated a patch to handle the null pointer case.