From: | Jade Koskela <jkoskela0(at)gmail(dot)com> |
---|---|
To: | pgsql-odbc(at)postgresql(dot)org |
Subject: | [PATCH] EXC_BAD_ACCESS in SC_execute |
Date: | 2014-08-26 21:25:54 |
Message-ID: | CAN5Zvqw5M--vSJyrYEoxRx8i=QZJ5pe9csZzfyC_e5EXXTQbqA@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-odbc |
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.
Attachment | Content-Type | Size |
---|---|---|
QR_NumResultCols-NullCheck.patch | application/octet-stream | 976 bytes |
From | Date | Subject | |
---|---|---|---|
Next Message | Jade Koskela | 2014-08-28 18:00:16 | debugging symbols |
Previous Message | Heikki Linnakangas | 2014-08-18 13:29:38 | Re: psqlodbc build with libpq on OS X |