Recently, we encountered an odd problem with mod_perl 1.24 and Oracle. We were using mod_perl as an Apache DSO. The application server we were debugging would execute database queries fine for a few minutes, and then queries would start failing with the following Oracle error message: ORA-03113: end-of-file on communication channel Not all queries, just some of them; enough to wreck the page render. The application server would also segfault whenever any of its processes tried to shut down, or whenever we executed a Perl module the communicates with Critical Path's messaging servers. Intensive debugging and experimentation revealed that the ORA-03113 problem was caused by the application inadvertently connecting to the database during Apache parent process startup. This is specifically forbidden in the mod_perl man page. Preventing that initial connection solved this problem. However, after fixing our application, we still encountered segfaults, both on process exit and when we used our Critical Path interface. This was particularly confusing, since the CP module was pure Perl; its only dependency was on IO::Socket::INET, which seemed solid enough. Frustrated, we ended up rebuilding mod_perl with USE_DSO=0, and that completely eliminated the segmentation faults. So, as a suggestion, if you're encountering unusual problems with mod_perl, and you've got USE_DSO=1, try turning it off. It might save you a lot of hassle. There's one other message that I found in the mod_perl archives that I'd like to add as a link here. (Naturally, we ran across it _after_ we had rebuilt with USE_DSO=0 :-) <http://www.egroups.com/message/modperl/16614?expand=1> - Paul