Re: [PHP] php with threaded MPM problem ?
Hi, Thank you all for your response. But turns out that the problem I am facing is caused by something else and unrelated to MPMs being threaded. The test case details gave me a clue. The test was trying to load mod_php between graceful restarts, i.e start apache without mod_php, then modify the config file to load it and do a graceful restart. This clearly fails because mod_php loads only on the second load within apache. It does this by setting some pool user data in the beginning of sapi_apache2.c:php_apache_server_startup(). So I'd have to do two graceful restarts for it to take effect. Now, I want to know if I can comment out this piece of code where it checks/sets the user data and make it load every time. This will help me enable the module between restarts too. Will this break something ? Do I need to post this query on a different mailing list to get a response from the PHP dev team ? Rgds, Rashmi On Dec 14, 2007 10:34 PM, Richard Lynch [EMAIL PROTECTED] wrote: On Thu, December 13, 2007 11:38 pm, Rashmi Badan wrote: I'm using php 5.2.1 with apache 2.2.6 and while running certain tests I see a segmentation fault - the relevant stack is given below. My php configure line is as follows configure '--prefix=/my/php/installdir' *'--with-tsrm-pthreads' *'--with-ldap' *'--enable-maintainer-zts'* '--enable-sigchild' '--enable-so' '--with-apxs2=/my/apache2/bin/apxs' '--without-sqlite' '--without-pdo-sqlite' '--with-oci8=/my/oracle/installdir' '--enable-mbstring' I'm running apache with a threaded MPM. Is that a probem as I remember reading somewhere that php does not quite work well with threaded MPMs. Would appreciate any help/pointers on this. PHP itself works fine with MPM, as far as anybody knows. But one of your --enable-xyz may NOT work fine with MPM! PDO is new and suspect. mbstring is on the way out in favor of PHP 6 Unicode, and I think it's also suspect. OCI8, well, I dunno... You'd think enough folks would be using that to get rid of all the thread-bugs, but... --- #0 0x007937a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2 #1 0x007d7c96 in kill () from /lib/tls/libc.so.6 #2 0x08070da8 in sig_coredump () #3 signal handler called #4 0x00a00d24 in pthread_mutex_lock () from /lib/tls/libpthread.so.0 *#5 0xb461d9f5 in tsrm_mutex_lock (mutexp=0x0) at /ade/rbadan_gollum/oracle/apache_modules/mod_php/php-5.2.1 /TSRM/TSRM.c:660 #6 0xb461d071 in ts_resource_ex (id=0, th_id=0x0)* at /ade/rbadan_gollum/oracle/apache_modules/mod_php/php- 5.2.1 /TSRM/TSRM.c:345 #7 0xb472dcb5 in php_handler (r=0x85c65b0) at /ade/rbadan_gollum/oracle/apache_modules/mod_php/php-5.2.1 /sapi/apache2handler/sapi_apache2.c:500 #8 0x080829af in ap_run_handler () #9 0x08082807 in ap_invoke_handler () #10 0x080976d5 in async_run_handlers () #11 0x080975f3 in async_process_connection () #12 0x08097346 in process_socket () #13 0x08096e97 in worker_thread () #14 0xb7f83e33 in dummy_worker (opaque=0x85bf438) at threadproc/unix/thread.c:142 #15 0x009ff371 in start_thread () from /lib/tls/libpthread.so.0 #16 0x008779be in clone () from /lib/tls/libc.so.6 You probably should post this into: http://bugs.php.net It is a pretty cogent error report. If you can provide source code for the tests that make this segfault, then odds are extremely good that somebody on the PHP Dev Team can reproduce it and fix it. -- Some people have a gift link here. Know what I want? I want you to buy a CD from some indie artist. http://cdbaby.com/from/lynch Yeah, I get a buck. So?
Re: [PHP] php with threaded MPM problem ?
Rashmi Badan schreef: Hi, Thank you all for your response. But turns out that the problem I am facing is caused by something else and unrelated to MPMs being threaded. The test case details gave me a clue. The test was trying to load mod_php between graceful restarts, i.e start apache without mod_php, then modify the config file to load it and do a graceful restart. This clearly fails because mod_php loads only on the second load within apache. It does this by setting some pool user data in the beginning of sapi_apache2.c:php_apache_server_startup(). So I'd have to do two graceful restarts for it to take effect. Now, I want to know if I can comment out this piece of code where it checks/sets the user data and make it load every time. This will help me enable the module between restarts too. Will this break something ? Do I need to post this query on a different mailing list to get a response from the PHP dev team ? yes - your better off posting this to [EMAIL PROTECTED], that's where the devs hang out and one of them should be able to offer you some knowledge advice on the matter. as a sidenote: there is a not so small chance this will not be the only segfault you run into (assuming you get this fixed) depending on which php extensions you are using. regardless please do post a progress report to this list if you make any headway ... I'm sure Im not the only one interesed to here how you get on. rgds, Jochem Rgds, Rashmi On Dec 14, 2007 10:34 PM, Richard Lynch [EMAIL PROTECTED] wrote: On Thu, December 13, 2007 11:38 pm, Rashmi Badan wrote: I'm using php 5.2.1 with apache 2.2.6 and while running certain tests I see a segmentation fault - the relevant stack is given below. My php configure line is as follows configure '--prefix=/my/php/installdir' *'--with-tsrm-pthreads' *'--with-ldap' *'--enable-maintainer-zts'* '--enable-sigchild' '--enable-so' '--with-apxs2=/my/apache2/bin/apxs' '--without-sqlite' '--without-pdo-sqlite' '--with-oci8=/my/oracle/installdir' '--enable-mbstring' I'm running apache with a threaded MPM. Is that a probem as I remember reading somewhere that php does not quite work well with threaded MPMs. Would appreciate any help/pointers on this. PHP itself works fine with MPM, as far as anybody knows. But one of your --enable-xyz may NOT work fine with MPM! PDO is new and suspect. mbstring is on the way out in favor of PHP 6 Unicode, and I think it's also suspect. OCI8, well, I dunno... You'd think enough folks would be using that to get rid of all the thread-bugs, but... --- #0 0x007937a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2 #1 0x007d7c96 in kill () from /lib/tls/libc.so.6 #2 0x08070da8 in sig_coredump () #3 signal handler called #4 0x00a00d24 in pthread_mutex_lock () from /lib/tls/libpthread.so.0 *#5 0xb461d9f5 in tsrm_mutex_lock (mutexp=0x0) at /ade/rbadan_gollum/oracle/apache_modules/mod_php/php-5.2.1 /TSRM/TSRM.c:660 #6 0xb461d071 in ts_resource_ex (id=0, th_id=0x0)* at /ade/rbadan_gollum/oracle/apache_modules/mod_php/php- 5.2.1 /TSRM/TSRM.c:345 #7 0xb472dcb5 in php_handler (r=0x85c65b0) at /ade/rbadan_gollum/oracle/apache_modules/mod_php/php-5.2.1 /sapi/apache2handler/sapi_apache2.c:500 #8 0x080829af in ap_run_handler () #9 0x08082807 in ap_invoke_handler () #10 0x080976d5 in async_run_handlers () #11 0x080975f3 in async_process_connection () #12 0x08097346 in process_socket () #13 0x08096e97 in worker_thread () #14 0xb7f83e33 in dummy_worker (opaque=0x85bf438) at threadproc/unix/thread.c:142 #15 0x009ff371 in start_thread () from /lib/tls/libpthread.so.0 #16 0x008779be in clone () from /lib/tls/libc.so.6 You probably should post this into: http://bugs.php.net It is a pretty cogent error report. If you can provide source code for the tests that make this segfault, then odds are extremely good that somebody on the PHP Dev Team can reproduce it and fix it. -- Some people have a gift link here. Know what I want? I want you to buy a CD from some indie artist. http://cdbaby.com/from/lynch Yeah, I get a buck. So? -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] php with threaded MPM problem ?
Rashmi Badan wrote: Hi, I'm using php 5.2.1 with apache 2.2.6 and while running certain tests I see a segmentation fault - the relevant stack is given below. My php configure line is as follows configure '--prefix=/my/php/installdir' *'--with-tsrm-pthreads' *'--with-ldap' *'--enable-maintainer-zts'* '--enable-sigchild' '--enable-so' '--with-apxs2=/my/apache2/bin/apxs' '--without-sqlite' '--without-pdo-sqlite' '--with-oci8=/my/oracle/installdir' '--enable-mbstring' I'm running apache with a threaded MPM. Is that a probem as I remember reading somewhere that php does not quite work well with threaded MPMs. Would appreciate any help/pointers on this. you can't realiably run php in a threaded webserver due to the large number of extension which are home to code that is not thread safe - and nobody can tell you what or where the non-threadsafe code exactly iirc Thanks, Rashmi --- #0 0x007937a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2 #1 0x007d7c96 in kill () from /lib/tls/libc.so.6 #2 0x08070da8 in sig_coredump () #3 signal handler called #4 0x00a00d24 in pthread_mutex_lock () from /lib/tls/libpthread.so.0 *#5 0xb461d9f5 in tsrm_mutex_lock (mutexp=0x0) at /ade/rbadan_gollum/oracle/apache_modules/mod_php/php-5.2.1 /TSRM/TSRM.c:660 #6 0xb461d071 in ts_resource_ex (id=0, th_id=0x0)* at /ade/rbadan_gollum/oracle/apache_modules/mod_php/php-5.2.1 /TSRM/TSRM.c:345 #7 0xb472dcb5 in php_handler (r=0x85c65b0) at /ade/rbadan_gollum/oracle/apache_modules/mod_php/php-5.2.1 /sapi/apache2handler/sapi_apache2.c:500 #8 0x080829af in ap_run_handler () #9 0x08082807 in ap_invoke_handler () #10 0x080976d5 in async_run_handlers () #11 0x080975f3 in async_process_connection () #12 0x08097346 in process_socket () #13 0x08096e97 in worker_thread () #14 0xb7f83e33 in dummy_worker (opaque=0x85bf438) at threadproc/unix/thread.c:142 #15 0x009ff371 in start_thread () from /lib/tls/libpthread.so.0 #16 0x008779be in clone () from /lib/tls/libc.so.6 -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] php with threaded MPM problem ?
On Thu, December 13, 2007 11:38 pm, Rashmi Badan wrote: I'm using php 5.2.1 with apache 2.2.6 and while running certain tests I see a segmentation fault - the relevant stack is given below. My php configure line is as follows configure '--prefix=/my/php/installdir' *'--with-tsrm-pthreads' *'--with-ldap' *'--enable-maintainer-zts'* '--enable-sigchild' '--enable-so' '--with-apxs2=/my/apache2/bin/apxs' '--without-sqlite' '--without-pdo-sqlite' '--with-oci8=/my/oracle/installdir' '--enable-mbstring' I'm running apache with a threaded MPM. Is that a probem as I remember reading somewhere that php does not quite work well with threaded MPMs. Would appreciate any help/pointers on this. PHP itself works fine with MPM, as far as anybody knows. But one of your --enable-xyz may NOT work fine with MPM! PDO is new and suspect. mbstring is on the way out in favor of PHP 6 Unicode, and I think it's also suspect. OCI8, well, I dunno... You'd think enough folks would be using that to get rid of all the thread-bugs, but... --- #0 0x007937a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2 #1 0x007d7c96 in kill () from /lib/tls/libc.so.6 #2 0x08070da8 in sig_coredump () #3 signal handler called #4 0x00a00d24 in pthread_mutex_lock () from /lib/tls/libpthread.so.0 *#5 0xb461d9f5 in tsrm_mutex_lock (mutexp=0x0) at /ade/rbadan_gollum/oracle/apache_modules/mod_php/php-5.2.1 /TSRM/TSRM.c:660 #6 0xb461d071 in ts_resource_ex (id=0, th_id=0x0)* at /ade/rbadan_gollum/oracle/apache_modules/mod_php/php-5.2.1 /TSRM/TSRM.c:345 #7 0xb472dcb5 in php_handler (r=0x85c65b0) at /ade/rbadan_gollum/oracle/apache_modules/mod_php/php-5.2.1 /sapi/apache2handler/sapi_apache2.c:500 #8 0x080829af in ap_run_handler () #9 0x08082807 in ap_invoke_handler () #10 0x080976d5 in async_run_handlers () #11 0x080975f3 in async_process_connection () #12 0x08097346 in process_socket () #13 0x08096e97 in worker_thread () #14 0xb7f83e33 in dummy_worker (opaque=0x85bf438) at threadproc/unix/thread.c:142 #15 0x009ff371 in start_thread () from /lib/tls/libpthread.so.0 #16 0x008779be in clone () from /lib/tls/libc.so.6 You probably should post this into: http://bugs.php.net It is a pretty cogent error report. If you can provide source code for the tests that make this segfault, then odds are extremely good that somebody on the PHP Dev Team can reproduce it and fix it. -- Some people have a gift link here. Know what I want? I want you to buy a CD from some indie artist. http://cdbaby.com/from/lynch Yeah, I get a buck. So? -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] php with threaded MPM problem ?
Hi, I'm using php 5.2.1 with apache 2.2.6 and while running certain tests I see a segmentation fault - the relevant stack is given below. My php configure line is as follows configure '--prefix=/my/php/installdir' *'--with-tsrm-pthreads' *'--with-ldap' *'--enable-maintainer-zts'* '--enable-sigchild' '--enable-so' '--with-apxs2=/my/apache2/bin/apxs' '--without-sqlite' '--without-pdo-sqlite' '--with-oci8=/my/oracle/installdir' '--enable-mbstring' I'm running apache with a threaded MPM. Is that a probem as I remember reading somewhere that php does not quite work well with threaded MPMs. Would appreciate any help/pointers on this. Thanks, Rashmi --- #0 0x007937a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2 #1 0x007d7c96 in kill () from /lib/tls/libc.so.6 #2 0x08070da8 in sig_coredump () #3 signal handler called #4 0x00a00d24 in pthread_mutex_lock () from /lib/tls/libpthread.so.0 *#5 0xb461d9f5 in tsrm_mutex_lock (mutexp=0x0) at /ade/rbadan_gollum/oracle/apache_modules/mod_php/php-5.2.1 /TSRM/TSRM.c:660 #6 0xb461d071 in ts_resource_ex (id=0, th_id=0x0)* at /ade/rbadan_gollum/oracle/apache_modules/mod_php/php-5.2.1 /TSRM/TSRM.c:345 #7 0xb472dcb5 in php_handler (r=0x85c65b0) at /ade/rbadan_gollum/oracle/apache_modules/mod_php/php-5.2.1 /sapi/apache2handler/sapi_apache2.c:500 #8 0x080829af in ap_run_handler () #9 0x08082807 in ap_invoke_handler () #10 0x080976d5 in async_run_handlers () #11 0x080975f3 in async_process_connection () #12 0x08097346 in process_socket () #13 0x08096e97 in worker_thread () #14 0xb7f83e33 in dummy_worker (opaque=0x85bf438) at threadproc/unix/thread.c:142 #15 0x009ff371 in start_thread () from /lib/tls/libpthread.so.0 #16 0x008779be in clone () from /lib/tls/libc.so.6