Arch Linux

Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines

Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!
Tasklist

FS#16819 - [php] segmentation fault while executing mysql_close()

Attached to Project: Arch Linux
Opened by Markus (xor_eax_eax) - Saturday, 24 October 2009, 11:35 GMT
Last edited by Eric Belanger (Snowman) - Monday, 09 November 2009, 09:15 GMT
Task Type Bug Report
Category Upstream Bugs
Status Closed
Assigned To No-one
Architecture All
Severity High
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:

Obviously since php has been split into several packages it seems to be broken when the function mysql_close() is executed. I'm not sure if it's a mysql or php issue. And at first, I thought it's an apache issue, but it seems to be a pure php or mysql bug. When I use php and mysql without using mysql_close(), then it works.

# dmesg
shows the following output:
php[5071]: segfault at 0 ip b783830d sp bfd1c510 error 4 in mysql.so[b7835000+9000]

$ strace php phpconnect.php
shows the following output

execve("/usr/bin/php", ["php", "phpconnect.php"], [/* 50 vars */]) = 0
brk(0) = 0x92b1000
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=152165, ...}) = 0
mmap2(NULL, 152165, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb773d000
close(3) = 0
open("/lib/libresolv.so.2", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\20&\0\0004\0\0\0\330"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=82474, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb773c000
mmap2(NULL, 79944, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7728000
mmap2(0xb7738000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x10) = 0xb7738000
mmap2(0xb773a000, 6216, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb773a000
close(3) = 0
open("/lib/libreadline.so.6", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\240\325\0\0004\0\0\0\304"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0555, st_size=245785, ...}) = 0
mmap2(NULL, 212300, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb76f4000
mmap2(0xb7723000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2f) = 0xb7723000
mmap2(0xb7727000, 3404, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7727000
close(3) = 0
open("/usr/lib/libz.so.1", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\260\30\0\0004\0\0\0\30"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=82987, ...}) = 0
mmap2(NULL, 78844, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb76e0000
mmap2(0xb76f3000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x12) = 0xb76f3000
close(3) = 0
open("/lib/libpcre.so.0", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\360\17\0\0004\0\0\0,"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=211279, ...}) = 0
mmap2(NULL, 200640, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb76af000
mmap2(0xb76df000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2f) = 0xb76df000
close(3) = 0
open("/lib/libm.so.6", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0@4\0\0004\0\0\0("..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=180855, ...}) = 0
mmap2(NULL, 151680, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7689000
mmap2(0xb76ad000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x23) = 0xb76ad000
close(3) = 0
open("/lib/libdl.so.2", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0 \n\0\0004\0\0\0\\"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=13419, ...}) = 0
mmap2(NULL, 12408, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7685000
mmap2(0xb7687000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1) = 0xb7687000
close(3) = 0
open("/usr/lib/libxml2.so.2", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0`\335\1\0004\0\0\0\304"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1416212, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7684000
mmap2(NULL, 1204116, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb755e000
mmap2(0xb767e000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x11f) = 0xb767e000
close(3) = 0
open("/lib/libc.so.6", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\220k\1\0004\0\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1553884, ...}) = 0
mmap2(NULL, 1333512, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7418000
mmap2(0xb7558000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x13f) = 0xb7558000
mmap2(0xb755b000, 10504, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb755b000
close(3) = 0
open("/lib/libncursesw.so.5", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\300\305\0\0004\0\0\0\200"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=345186, ...}) = 0
mmap2(NULL, 313604, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb73cb000
mmap2(0xb7415000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4a) = 0xb7415000
close(3) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb73ca000
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb73c9000
set_thread_area({entry_number:-1 -> 6, base_addr:0xb73c96c0, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0
mprotect(0xb7558000, 8192, PROT_READ) = 0
mprotect(0xb7687000, 4096, PROT_READ) = 0
mprotect(0xb76ad000, 4096, PROT_READ) = 0
mprotect(0xb7738000, 4096, PROT_READ) = 0
mprotect(0xb7780000, 4096, PROT_READ) = 0
munmap(0xb773d000, 152165) = 0
rt_sigaction(SIGPIPE, {0x1, [PIPE], SA_RESTART}, {SIG_DFL, [], 0}, 8) = 0
brk(0) = 0x92b1000
brk(0x92d2000) = 0x92d2000
getcwd("/srv/http/localhost/php-scripts"..., 4096) = 32
mprotect(0x86a0000, 4096, PROT_READ) = 0
open("/dev/urandom", O_RDONLY) = 3
read(3, "\21\2507\362"..., 4) = 4
close(3) = 0
open("/dev/urandom", O_RDONLY) = 3
read(3, "\235\rD\346"..., 4) = 4
close(3) = 0
open("/dev/urandom", O_RDONLY) = 3
read(3, "?\204G\225"..., 4) = 4
close(3) = 0
mmap2(NULL, 266240, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7388000
open("/usr/lib/locale/locale-archive", O_RDONLY|O_LARGEFILE) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=2306880, ...}) = 0
mmap2(NULL, 2097152, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7188000
close(3) = 0
open("/etc/localtime", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=2211, ...}) = 0
fstat64(3, {st_mode=S_IFREG|0644, st_size=2211, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7762000
read(3, "TZif2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\6\0\0\0\6\0\0\0\0\0"..., 4096) = 2211
_llseek(3, -28, [2183], SEEK_CUR) = 0
read(3, "\nCET-1CEST,M3.5.0,M10.5.0/3\n"..., 4096) = 28
close(3) = 0
munmap(0xb7762000, 4096) = 0
lstat64("/bin/php", 0xbf93e09c) = -1 ENOENT (No such file or directory)
lstat64("/usr/bin/php", {st_mode=S_IFREG|0755, st_size=6561032, ...}) = 0
lstat64("/usr/bin", {st_mode=S_IFDIR|0755, st_size=69632, ...}) = 0
lstat64("/usr", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
access("/usr/bin/php", X_OK) = 0
open("/usr/bin/php-cli.ini", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/etc/php/php-cli.ini", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/bin/php.ini", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/etc/php/php.ini", O_RDONLY) = 3
lstat64("/etc/php/php.ini", {st_mode=S_IFREG|0644, st_size=68432, ...}) = 0
lstat64("/etc/php", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat64("/etc", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, 0xbf9400e8) = -1 ENOTTY (Inappropriate ioctl for device)
fstat64(3, {st_mode=S_IFREG|0644, st_size=68432, ...}) = 0
mmap2(NULL, 68464, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7752000
fstat64(3, {st_mode=S_IFREG|0644, st_size=68432, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7751000
_llseek(3, 0, [0], SEEK_CUR) = 0
munmap(0xb7752000, 68432) = 0
close(3) = 0
munmap(0xb7751000, 4096) = 0
open("/etc/php/conf.d", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_CLOEXEC) = 3
fcntl64(3, F_GETFD) = 0x1 (flags FD_CLOEXEC)
getdents(3, /* 2 entries */, 32768) = 32
getdents(3, /* 0 entries */, 32768) = 0
close(3) = 0
mmap2(NULL, 163840, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7160000
brk(0x92f3000) = 0x92f3000
open("/usr/lib/php/modules/gd.so", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\340M\0\0004\0\0\0\374"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=97583, ...}) = 0
mmap2(NULL, 85612, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb714b000
mmap2(0xb715f000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x13) = 0xb715f000
close(3) = 0
open("/etc/ld.so.cache", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=152165, ...}) = 0
mmap2(NULL, 152165, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb773d000
close(3) = 0
open("/usr/lib/libgd.so.2", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\300]\0\0004\0\0\0\264"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=262864, ...}) = 0
mmap2(NULL, 266200, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb710a000
mmap2(0xb7127000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1c) = 0xb7127000
mmap2(0xb7147000, 16344, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7147000
close(3) = 0
open("/usr/lib/libfreetype.so.6", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0`}\0\0004\0\0\0,"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=604088, ...}) = 0
mmap2(NULL, 542228, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7085000
mmap2(0xb7106000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x81) = 0xb7106000
close(3) = 0
open("/usr/lib/libpng12.so.0", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0000A\0\0004\0\0\0\34"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=168745, ...}) = 0
mmap2(NULL, 153848, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb705f000
mmap2(0xb7084000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x24) = 0xb7084000
close(3) = 0
open("/usr/lib/libjpeg.so.7", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\2001\0\0004\0\0\0\250"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=226063, ...}) = 0
mmap2(NULL, 212220, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb702b000
mmap2(0xb705e000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x32) = 0xb705e000
close(3) = 0
open("/usr/lib/libfontconfig.so.1", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0PD\0\0004\0\0\0\360"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=210906, ...}) = 0
mmap2(NULL, 176100, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7000000
mmap2(0xb702a000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2a) = 0xb702a000
close(3) = 0
open("/usr/lib/libexpat.so.1", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0@\"\0\0004\0\0\0\34"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=190062, ...}) = 0
mmap2(NULL, 154564, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6fda000
mmap2(0xb6ffe000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x23) = 0xb6ffe000
close(3) = 0
mprotect(0xb714b000, 81920, PROT_READ|PROT_WRITE) = 0
mprotect(0xb714b000, 81920, PROT_READ|PROT_EXEC) = 0
munmap(0xb773d000, 152165) = 0
open("/usr/lib/php/modules/gettext.so", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\260\t\0\0004\0\0\0\234"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=10767, ...}) = 0
mmap2(NULL, 11140, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7760000
mmap2(0xb7762000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1) = 0xb7762000
close(3) = 0
mprotect(0xb7760000, 8192, PROT_READ|PROT_WRITE) = 0
mprotect(0xb7760000, 8192, PROT_READ|PROT_EXEC) = 0
brk(0x9314000) = 0x9314000
open("/usr/lib/php/modules/mysql.so", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0`)\0\0004\0\0\0\234"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=43570, ...}) = 0
mmap2(NULL, 39920, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7756000
mmap2(0xb775f000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x8) = 0xb775f000
close(3) = 0
mprotect(0xb7756000, 36864, PROT_READ|PROT_WRITE) = 0
mprotect(0xb7756000, 36864, PROT_READ|PROT_EXEC) = 0
brk(0x9335000) = 0x9335000
brk(0x9356000) = 0x9356000
brk(0x9377000) = 0x9377000
brk(0x9398000) = 0x9398000
munmap(0xb7388000, 266240) = 0
open("/dev/urandom", O_RDONLY) = 3
read(3, "/\222\321\221"..., 4) = 4
close(3) = 0
open("/dev/urandom", O_RDONLY) = 3
read(3, ".3\2009"..., 4) = 4
close(3) = 0
open("/dev/urandom", O_RDONLY) = 3
read(3, "\333,z\205"..., 4) = 4
close(3) = 0
brk(0x93f6000) = 0x93f6000
open("phpconnect.php", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=150, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7755000
read(3, "<?php \n\tif (!mysql_connect(\"local"..., 4096) = 150
_llseek(3, 0, [0], SEEK_SET) = 0
brk(0x9436000) = 0x9436000
rt_sigaction(SIGPROF, {0x8212ab0, [PROF], SA_RESTART}, {SIG_DFL, [], 0}, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [PROF], NULL, 8) = 0
time(NULL) = 1256383720
fstat64(0, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 1), ...}) = 0
fstat64(0, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 1), ...}) = 0
fstat64(0, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 1), ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7754000
_llseek(0, 0, 0xbf9420f0, SEEK_CUR) = -1 ESPIPE (Illegal seek)
fstat64(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 1), ...}) = 0
fstat64(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 1), ...}) = 0
fstat64(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 1), ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7753000
_llseek(1, 0, 0xbf9420f0, SEEK_CUR) = -1 ESPIPE (Illegal seek)
fstat64(2, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 1), ...}) = 0
fstat64(2, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 1), ...}) = 0
_llseek(2, 0, 0xbf9420f0, SEEK_CUR) = -1 ESPIPE (Illegal seek)
getcwd("/srv/http/localhost/php-scripts"..., 4096) = 32
lstat64("/srv/http/localhost/php-scripts/phpconnect.php", {st_mode=S_IFREG|0644, st_size=150, ...}) = 0
lstat64("/srv/http/localhost/php-scripts", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat64("/srv/http/localhost", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat64("/srv/http", {st_mode=S_IFDIR|0575, st_size=4096, ...}) = 0
lstat64("/srv", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, 0xbf940068) = -1 ENOTTY (Inappropriate ioctl for device)
fstat64(3, {st_mode=S_IFREG|0644, st_size=150, ...}) = 0
mmap2(NULL, 182, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7752000
munmap(0xb7752000, 150) = 0
close(3) = 0
munmap(0xb7755000, 4096) = 0
socket(PF_FILE, SOCK_STREAM, 0) = 3
fcntl64(3, F_GETFL) = 0x2 (flags O_RDWR)
fcntl64(3, F_SETFL, O_RDWR|O_NONBLOCK) = 0
connect(3, {sa_family=AF_FILE, path="/tmp/mysql.sock"...}, 17) = 0
fcntl64(3, F_SETFL, O_RDWR) = 0
poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}], 1, 60000) = 1 ([{fd=3, revents=POLLIN}])
recv(3, "4\0\0\0\n5.1.39\0\7\0\0\0&-M|MHa/\0\377\3670\2\0\0\0\0"..., 8192, MSG_DONTWAIT) = 56
send(3, ";\0\0\1\r\242\2\0\0\0\0\3000\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 63, MSG_DONTWAIT) = 63
poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}], 1, 60000) = 1 ([{fd=3, revents=POLLIN}])
recv(3, "\7\0\0\2\0\0\0\2\0\0\0"..., 8192, MSG_DONTWAIT) = 11
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV +++


Additional info:
extra/php-5.3.0-5
extra/mysql-5.1.39-1
extra/libmysqlclient-5.1.39-1
extra/mysql-clients 5.1.39-1

Steps to reproduce:
Create a simple php script which connects to a mysql database:

<?php
if (!mysql_connect("localhost", "root", "rootpassword")) {
echo "Connection error: " . mysql_error() . "\n";
}
mysql_close();
?>

When you remove mysql_close(), the script works. Otherwiese -> Segmentation fault without additional info.
This task depends upon

Closed by  Eric Belanger (Snowman)
Monday, 09 November 2009, 09:15 GMT
Reason for closing:  Upstream
Additional comments about closing:  Will be fixed with php 5.3.1
Comment by Pierre Schmitz (Pierre) - Saturday, 24 October 2009, 11:42 GMT
Are you sure this did work before? Afaik this is an old bug and only triggered when you use mysql_close without specifying the link.
Comment by Markus (xor_eax_eax) - Saturday, 24 October 2009, 12:11 GMT
Before I upgraded my system 2 days ago it worked. I know this for sure because I'm working on a website and after upgrading the system, the execution of the same script lead to this segmentation fault.
(And by the way, one doensn't have to specify a link because mysql_close() without a link should close the latest opened connection.)
Comment by Pierre Schmitz (Pierre) - Saturday, 24 October 2009, 12:30 GMT
OK, just checked. This bug was reported in july and should be fixed in php 5.3.1. I wont backport this for 5.3.0 though. And btw. its always cleaner to specify the connection you want to close.

Loading...