ID: 16805 Updated by: [EMAIL PROTECTED] Reported By: [EMAIL PROTECTED] -Status: Assigned +Status: Feedback Bug Type: Semaphore related Operating System: Linux 2.2.x (Debian) PHP Version: 4.0CVS-2002-04-24 Assigned To: derick New Comment:
I still can not reproduce this... can you try the latest PHP 4.2.1? Previous Comments: ------------------------------------------------------------------------ [2002-04-25 14:44:34] [EMAIL PROTECTED] <?php // create the semaphore: $sem = sem_get(posix_getpid()); // delete the semaphore: sem_remove($sem); ?> Creation is fine, but whenever I call sem_remove, segfault. Here's my complete system info: sean@adnagaporp:~$ uname -a Linux adnagaporp 2.2.19pre17 #1 Tue Mar 13 22:37:59 EST 2001 i686 unknown sean@adnagaporp:~$ cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 8 model name : Pentium III (Coppermine) stepping : 3 cpu MHz : 701.376 cache size : 256 KB fdiv_bug : no hlt_bug : no sep_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 2 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 sep mtrr pge mca cmov pat pse36 mmx fxsr xmm bogomips : 1399.19 sean@adnagaporp:~/bin$ ./php4-dev -v 4.3.0-dev (note: php4-dev is a symlink to my PHP4/CVS build) sean@adnagaporp:~/dev/sock$ php4-dev -q sem.php [Thu Apr 25 14:29:58 2002] Script: 'sem.php' --------------------------------------- /home/sean/cvs/php/php4/Zend/zend_execute.h(62) : Block 0x0822FEA8 status: Beginning: Overrun (magic=0x0000322E, expected=0x7312F8DC) End: Unknown --------------------------------------- Segmentation fault (sem.php is the script I posted above) if this helps: sean@adnagaporp:~/dev/sock$ ipcs ------ Shared Memory Segments -------- key shmid owner perms bytes nattch status 0x00000200 15360 root 666 1024 13 0x00280267 132 root 644 1048576 1 ------ Semaphore Arrays -------- key semid owner perms nsems status 0x00280269 0 root 666 14 ------ Message Queues -------- key msqid owner perms used-bytes messages if I comment out the sem_remove line, I get a freshly created semaphore: ------ Semaphore Arrays -------- key semid owner perms nsems status 0x00280269 0 root 666 14 0x00003241 1409 sean 666 3 and I can even do this, successfully, so I don't think it's a problem with my OS/config: sean@adnagaporp:~/dev/sock$ ipcrm sem 1409 resource deleted It segfaults as a regular user (sean) and also as root. PHP isn't generating core files for some reason, even though --enable-debug is on, or I'm just not looking in the right place.. ? Here's my gdb session: sean@adnagaporp:~/dev/sock$ gdb -q php4-dev (gdb) run -q sem.php Starting program: /home/sean/cvs/php/php4.3.0/php -q sem.php [Thu Apr 25 14:43:34 2002] Script: 'sem.php' --------------------------------------- /home/sean/cvs/php/php4/Zend/zend_execute.h(62) : Block 0x0822FA88 status: Beginning: Overrun (magic=0x0000331B, expected=0x7312F8DC) End: Unknown --------------------------------------- Program received signal SIGSEGV, Segmentation fault. 0x400e8bfe in free () from /lib/libc.so.6 (gdb) bt #0 0x400e8bfe in free () from /lib/libc.so.6 #1 0x400e8ad3 in free () from /lib/libc.so.6 #2 0x08165073 in shutdown_memory_manager (silent=0, clean_cache=0) at /home/sean/cvs/php/php4/Zend/zend_alloc.c:484 #3 0x08147a95 in php_request_shutdown (dummy=0x0) at /home/sean/cvs/php/php4/main/main.c:816 #4 0x0818c055 in main (argc=3, argv=0xbffffd84) at /home/sean/cvs/php/php4/sapi/cgi/cgi_main.c:1069 (gdb) frame 0 #0 0x400e8bfe in free () from /lib/libc.so.6 (gdb) frame 1 #1 0x400e8ad3 in free () from /lib/libc.so.6 (gdb) frame 2 #2 0x08165073 in shutdown_memory_manager (silent=0, clean_cache=0) at /home/sean/cvs/php/php4/Zend/zend_alloc.c:484 484 ZEND_DO_FREE(ptr); (gdb) frame 3 #3 0x08147a95 in php_request_shutdown (dummy=0x0) at /home/sean/cvs/php/php4/main/main.c:816 816 shutdown_memory_manager(CG(unclean_shutdown), 0 TSRMLS_CC); (gdb) frame 4 #4 0x0818c055 in main (argc=3, argv=0xbffffd84) at /home/sean/cvs/php/php4/sapi/cgi/cgi_main.c:1069 1069 php_request_shutdown((void *) 0); (gdb) --- unfortunately, I don't know gdb any better than that. I can give you access to adnagaporp if you need it, Derick. Thanks again. S ------------------------------------------------------------------------ [2002-04-25 14:21:56] [EMAIL PROTECTED] Can you please provide a self-contained script that should work but crashses? I can't reproduce this. Derick ------------------------------------------------------------------------ [2002-04-24 14:24:00] [EMAIL PROTECTED] sem_remove causes a segfault with the following script: ***** <?php // create the semaphore: $sem = sem_get($parentPID); // delete the semaphore: sem_remove($sem); ?> ***** Here's my terminal log: sean@adnagaporp:~/dev/sock$ php4-dev -v 4.3.0-dev sean@adnagaporp:~/dev/sock$ php4-dev -q sem.php [Wed Apr 24 14:21:56 2002] Script: 'sem.php' --------------------------------------- /home/sean/cvs/php/php4/Zend/zend_execute.h(62) : Block 0x08231DF0 status: Beginning: Overrun (magic=0x00000000, expected=0x7312F8DC) End: Unknown --------------------------------------- Segmentation fault ***** And my php configuration: System Linux adnagaporp 2.2.19pre17 #1 Tue Mar 13 22:37:59 EST 2001 i686 Build Date Apr 24 2002 14:12:20 Configure Command './configure' '--enable-sockets' '--enable-pcntl' '--enable-shmop' '--enable-sysvsem' '--enable-debug' Server API CGI Virtual Directory Support disabled Configuration File (php.ini) Path /usr/local/lib Debug Build yes Thread Safety disabled PHP Streams enabled ***** S ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=16805&edit=1