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