> Yes, this is a classic symptom of heap corruption.  Try running with:
> 
>   export MALLOC_CHECK_=2
> 
> and it may crash closer to the actual bug.
> 
Apparently, there were two different bugs causing the crash I reported. I was 
able to work around
one of them by allocating all the needed space for sql results array from the 
long living pool in
dbd_mysql_prepare (instead of using per-connection pool - it's something mysql 
related). The other
bug, however left me buffled:

I'm returning apr_dbd_t struct from dbd_mysql_open, say:
apr_dbd_t *handle == 0x80b5610
handle->conn == 0x80b57a0 (db specific handle)

yet, when I get the dbd_mysql_close call, handle->conn is misteriously changed:
apr_dbd_t *handle == 0x80b5610
handle->conn == 0x809db00
(causing another SEGV).
Interestingly enough, when run normally, handle->conn is always NULL (junk 
value only appears with
httpd -X), so there's no crash, but database handle does not get closed either.



 
____________________________________________________________________________________
Any questions? Get answers on any topic at www.Answers.yahoo.com.  Try it now.

Reply via email to