#16805 [Fbk->Bgs]: sem_remove(...) segfaults
| From: | sniper@php.net | Date: | Wed, 11 Sep 2002 15:58:15 +0000 |
| Subject: | #16805 [Fbk->Bgs]: sem_remove(...) segfaults | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-19071@lists.php.net to get a copy of this message | ||
ID: 16805
Updated by: sniper@php.net
Reported By: sean@caedmon.net
-Status: Feedback
+Status: Bogus
Bug Type: Semaphore related
Operating System: Linux 2.2.x (Debian)
PHP Version: 4.0CVS-2002-04-24
New Comment:
Thank you for taking the time to report a problem with PHP.
Unfortunately you are not using a current version of PHP --
the problem might already be fixed. Please download a new
PHP version from http://www.php.net/downloads.php
If you are able to reproduce the bug with one of the latest
versions of PHP, please change the PHP version on this bug report
to the version you tested and change the status back to "Open".
Again, thank you for your continued support of PHP.
Previous Comments:
------------------------------------------------------------------------
[2002-07-04 17:42:44] sean@caedmon.net
Sorry. I haven't had any time to check this lately. I will try to get
to it soon. Might be fixed in CVS ?
I'll try on multiple boxes, too.
S
------------------------------------------------------------------------
[2002-05-26 14:39:32] derick@php.net
I still can not reproduce this... can you try the latest PHP 4.2.1?
------------------------------------------------------------------------
[2002-04-25 14:44:34] sean@caedmon.net
<?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] derick@php.net
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] sean@caedmon.net
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