Gregory (Grisha) Trubetskoy
grisha at modpython.org
Mon Feb 9 20:13:26 EST 2004
This may be a dumb question - but do you know for certain that the oracle driver you're using is thread-safe? Grisha On Mon, 9 Feb 2004 perry.tew at cibavision.novartis.com wrote: > Hey Everyone, > Well, as promised, I'm attempting to troubleshoot my problems with the > worker MPM crashes I'm experiencing. I rebuilt everything with the -g > CFLAG and when I examine the core file using gdb I receive the following > stack traces (I did it three times to see if it reproduced). btw. I'm > using mod_python-3.1.1b (not using the latest 'cause my flex is out of > date) and apache 2.0.48. > > I can provide additional information, but the actual code will be > difficult to set up since it's an Authen handler going against an Oracle > database using DCOracle2. > > If anyone can provide a path I should go down, I would appreciate it. I > don't know the Apache API, and the only line of code that looks to be > mod_python-ish is > #4 0xfdc2e9b0 in python_merge_config (p=0x67eb68, current_conf=0xdb520, > new_conf=0xef2f8) at mod_python.c:653 > > which is this line of code from the source (mod_python.c > python_merge_config): > apr_table_overlap(merged_conf->options, nc->options, > APR_OVERLAP_TABLES_SET); > > Again, this runs without issue using the prefork model. > > Thanks! > Perry Tew > > > (gdb) where > #0 0xfee4efec in strcasecmp () from /usr/lib/libc.so.1 > #1 0xff0ccdd4 in table_mergesort (pool=0xa1670, values=0x5a4420, n=12) at > apr_tables.c:1013 > #2 0xff0ccfb4 in apr_table_compress (t=0x6804b0, flags=0) at > apr_tables.c:1125 > #3 0xff0cd2dc in apr_table_overlap (a=0x6804b0, b=0xef448, flags=0) at > apr_tables.c:1244 > #4 0xfdc2e9b0 in python_merge_config (p=0x67eb68, current_conf=0xdb520, > new_conf=0xef2f8) at mod_python.c:653 > #5 0x3bc10 in ap_merge_per_dir_configs (p=0x67eb68, base=0xd1ab8, > new_conf=0x6800f8) at config.c:278 > #6 0x668b0 in ap_directory_walk (r=0x67eba0) at request.c:1177 > #7 0x60118 in core_map_to_storage (r=0x67eba0) at core.c:3367 > #8 0x6384c in ap_run_map_to_storage (r=0x67eba0) at request.c:110 > #9 0x64960 in ap_process_request_internal (r=0x67eba0) at request.c:191 > #10 0x337d0 in ap_process_request (r=0x67eba0) at http_request.c:286 > #11 0x2ae2c in ap_process_http_connection (c=0x3c5aa8) at http_core.c:293 > #12 0x4e29c in ap_run_process_connection (c=0x3c5aa8) at connection.c:85 > #13 0x4e83c in ap_process_connection (c=0x3c5aa8, csd=0x3c59b8) at > connection.c:211 > #14 0x35904 in process_socket (p=0x3c5980, sock=0x3c59b8, my_child_num=0, > my_thread_num=8, bucket_alloc=0x3cf9a8) > at worker.c:632 > #15 0x36448 in worker_thread (thd=0xbbcf8, dummy=0x14bcb8) at worker.c:946 > #16 0xff0d4de0 in dummy_worker (opaque=0xbbcf8) at thread.c:127 > > > > > (gdb) where > #0 0xfee4efd4 in strcasecmp () from /usr/lib/libc.so.1 > #1 0xfee4efcc in strcasecmp () from /usr/lib/libc.so.1 > #2 0xff0ccfb4 in apr_table_compress (t=0x4b64c0, flags=0) at > apr_tables.c:1125 > #3 0xff0cd2dc in apr_table_overlap (a=0x4b64c0, b=0xef448, flags=0) at > apr_tables.c:1244 > #4 0xfdc2e9b0 in python_merge_config (p=0x4b4b80, current_conf=0xdb520, > new_conf=0xef2f8) at mod_python.c:653 > #5 0x3bc10 in ap_merge_per_dir_configs (p=0x4b4b80, base=0xd1ab8, > new_conf=0x4b6108) at config.c:278 > #6 0x668b0 in ap_directory_walk (r=0x4b4bb8) at request.c:1177 > #7 0x60118 in core_map_to_storage (r=0x4b4bb8) at core.c:3367 > #8 0x6384c in ap_run_map_to_storage (r=0x4b4bb8) at request.c:110 > #9 0x64960 in ap_process_request_internal (r=0x4b4bb8) at request.c:191 > #10 0x337d0 in ap_process_request (r=0x4b4bb8) at http_request.c:286 > #11 0x2ae2c in ap_process_http_connection (c=0x4b0af8) at http_core.c:293 > #12 0x4e29c in ap_run_process_connection (c=0x4b0af8) at connection.c:85 > #13 0x4e83c in ap_process_connection (c=0x4b0af8, csd=0x4b0a08) at > connection.c:211 > #14 0x35904 in process_socket (p=0x4b09d0, sock=0x4b0a08, my_child_num=0, > my_thread_num=14, bucket_alloc=0x4b2ae0) > at worker.c:632 > #15 0x36448 in worker_thread (thd=0xbbdb8, dummy=0x146c58) at worker.c:946 > #16 0xff0d4de0 in dummy_worker (opaque=0xbbdb8) at thread.c:127 > > > > > (gdb) where > #0 0xfee4efd4 in strcasecmp () from /usr/lib/libc.so.1 > #1 0xfee4efcc in strcasecmp () from /usr/lib/libc.so.1 > #2 0xff0ccfb4 in apr_table_compress (t=0x497290, flags=0) at > apr_tables.c:1125 > #3 0xff0cd2dc in apr_table_overlap (a=0x497290, b=0xef448, flags=0) at > apr_tables.c:1244 > #4 0xfdc2e9b0 in python_merge_config (p=0x495948, current_conf=0xdb520, > new_conf=0xef2f8) at mod_python.c:653 > #5 0x3bc10 in ap_merge_per_dir_configs (p=0x495948, base=0xd1ab8, > new_conf=0x496ed8) at config.c:278 > #6 0x668b0 in ap_directory_walk (r=0x495980) at request.c:1177 > #7 0x60118 in core_map_to_storage (r=0x495980) at core.c:3367 > #8 0x6384c in ap_run_map_to_storage (r=0x495980) at request.c:110 > #9 0x64960 in ap_process_request_internal (r=0x495980) at request.c:191 > #10 0x337d0 in ap_process_request (r=0x495980) at http_request.c:286 > #11 0x2ae2c in ap_process_http_connection (c=0x490d58) at http_core.c:293 > #12 0x4e29c in ap_run_process_connection (c=0x490d58) at connection.c:85 > #13 0x4e83c in ap_process_connection (c=0x490d58, csd=0x490c68) at > connection.c:211 > #14 0x35904 in process_socket (p=0x490c30, sock=0x490c68, my_child_num=0, > my_thread_num=18, bucket_alloc=0x493940) > at worker.c:632 > #15 0x36448 in worker_thread (thd=0xbbe38, dummy=0x14bcb8) at worker.c:946 > #16 0xff0d4de0 in dummy_worker (opaque=0xbbe38) at thread.c:127 > > _______________________________________________ > Mod_python mailing list > Mod_python at modpython.org > http://mailman.modpython.org/mailman/listinfo/mod_python >
|