From: Bob D. <bd...@si...> - 2005-06-06 14:10:38
|
> Well, the segfaults do only happen when it should be showing an error > message (ie, a failed sql query or an unknown pcode). But like I said, > at any one time, I can get at least 5 or 6 error messages out of it ok > (which show up in apache error log) before it starts segfaulting > (instead of showing error messages - it just says the apache child died > in the error log). When I restart apache, it works again for another 5 > or 6. So something is starting out ok and getting corrupted along the way. > > It's been hard for me to track down because running it in gdb (apache > single process) isn't giving much information and I don't have a way to > reproduce it without apache. I'm willing to try any suggestions you guys > have. Are you getting a "*** NUTS WE CRASHED??" in the log A few times I have tracked down a crash by going it to util.c add a sleep(180) to myFaultHandler make, make install then when it crashes quickly starting trying to grab the pids of apache processes w/ gdb gdb /usr/sbin/httpd xxxx where xxx is one of the apache process ID's once you find the pid that crashed but is in limbo issue a "bt" to see whats going on. This kinda sucks but it works. > > You say the #1 cause is a bad query/datasouce -- why should that ever > actually segfault, as opposed to issuing an error message and exiting > cleanly? It does issue errors messages but you need to check the results of data sources and queries before you call execute. I think most of the crashes have been fixed, there might be one left w/ data sources. - bob |