From:             [EMAIL PROTECTED]
Operating system: FreeBSD 4.5
PHP version:      4.1.2
PHP Bug Type:     MySQL related
Bug description:  Warning: MySQL: Unable to save result set in ...

This is a follow-up to bug 
http://bugs.php.net/bug.php?id=12029

The problem do exists. I've got plenty of them on my FreeBSD, and never
got a clue how i fixed it.

Now i'm upgrading to php-4.1.2 (with apache 1.3.14), and problem arises
again. Everything was compiled using standard FreeBSD ports Makefile. 

Summary:

Everything works as long as i not include any of mhash, mcrypt and gd2.
Tested on 4.1.2 and 4.2.0.

Here are results of some tests:

1. Plugging in old already compiled libphp4.so (4.0.1 i suppose) works.

"./configure" \
"--with-apxs=/usr/local/sbin/apxs" \
"--with-config-file-path=/usr/local/etc" \
"--enable-versioning" \
"--with-system-regex" \
"--disable-debug" \
"--enable-track-vars" \
"--disable-pear" \
"--with-gd=/usr/local" \
"--with-zlib" \
"--with-mcrypt=/usr/local" \
"--with-mhash=/usr/local" \
"--with-imap=/usr/local" \
"--with-mysql=/usr/local" \
"--prefix=/usr/local" \
"i386--freebsd4.3" \
"$@"

libphp4.so              1271565

2. Compiling with mysql only:

CFLAGS='-O -pipe  -I/usr/local/include' \
CXXFLAGS=' -O -pipe  -I/usr/local/include' \
CC='cc' \                                         
CXX='c++' \    
'./configure' \
'--with-apxs=/usr/local/sbin/apxs' \
'--with-config-file-path=/usr/local/etc' \
'--enable-versioning' \
'--with-regex=system' \
'--without-gd' \
'--with-mysql=/usr/local' \
'--prefix=/usr/local' \
'i386-portbld-freebsd4.5' \
"$@"

works.

libphp4.so              1006173


3. The same, but manually running ./configure:

'./configure' \
'--with-apxs=/usr/local/sbin/apxs' \
'--with-config-file-path=/usr/local/etc' \
'--with-mysql=/usr/local' \
'--without-gd' \
"$@"

! libphp4.so            2598686 (very strange!!!)

works.

4. FreeBSD port make: zlib, mysql, mcrypt, mhash:

CFLAGS='-O -pipe  -I/usr/local/include' \
CXXFLAGS=' -O -pipe  -I/usr/local/include' \
CC='cc' \
CXX='c++' \
'./configure' \
'--with-apxs=/usr/local/sbin/apxs' \
'--with-config-file-path=/usr/local/etc' \
'--enable-versioning' \
'--with-regex=system' \
'--without-gd' \
'--without-mysql' \
'--with-zlib' \
'--with-mcrypt=/usr/local' \
'--with-mhash=/usr/local' \
'--with-mysql=/usr/local' \
'--prefix=/usr/local' \
'i386-portbld-freebsd4.5' \
"$@"

libphp4.so              1054805

DOESN'T WORK.

Let's try and remove some components. zlib, mcrypt, mhash seem to
cause an error. Start from mhash.

5. FreeBSD port make: zlib, mysql, mcrypt:

CFLAGS='-O -pipe  -I/usr/local/include' \
CXXFLAGS=' -O -pipe  -I/usr/local/include' \
CC='cc' \
CXX='c++' \
'./configure' \
'--with-apxs=/usr/local/sbin/apxs' \
'--with-config-file-path=/usr/local/etc' \
'--enable-versioning' \
'--with-regex=system' \
'--without-gd' \
'--without-mysql' \
'--with-zlib' \
'--with-mcrypt=/usr/local' \
'--with-mysql=/usr/local' \
'--prefix=/usr/local' \
'i386-portbld-freebsd4.5' \
"$@"

libphp4.so              1050061

DOESN'T WORK.

Ok, maybe it's mcrypt bug?

6. FreeBSD port make: zlib, mysql, mhash:

CFLAGS='-O -pipe  -I/usr/local/include' \
CXXFLAGS=' -O -pipe  -I/usr/local/include' \
CC='cc' \
CXX='c++' \
'./configure' \
'--with-apxs=/usr/local/sbin/apxs' \
'--with-config-file-path=/usr/local/etc' \
'--enable-versioning' \
'--with-regex=system' \
'--without-gd' \
'--without-mysql' \
'--with-zlib' \
'--with-mhash=/usr/local' \
'--with-mysql=/usr/local' \
'--prefix=/usr/local' \
'i386-portbld-freebsd4.5' \
"$@"

libphp4.so              1028045

DOESN'T WORK.

The only case left is zlib. Let's try:

6. FreeBSD port make: mysql, mhash, mcrypt:

CFLAGS='-O -pipe  -I/usr/local/include' \
CXXFLAGS=' -O -pipe  -I/usr/local/include' \
CC='cc' \
CXX='c++' \
'./configure' \
'--with-apxs=/usr/local/sbin/apxs' \
'--with-config-file-path=/usr/local/etc' \
'--enable-versioning' \
'--with-regex=system' \
'--without-gd' \
'--without-mysql' \
'--with-mcrypt=/usr/local' \
'--with-mhash=/usr/local' \
'--with-mysql=/usr/local' \
'--prefix=/usr/local' \
'i386-portbld-freebsd4.5' \
"$@"

libphp4.so              1036937

DOESN'T WORK.

So. Nothing. Let's try adding one-by-one to working configuration (mysql
only)

7. FreeBSD port make: mysql, zlib (default)

CFLAGS='-O -pipe  -I/usr/local/include' \
CXXFLAGS=' -O -pipe  -I/usr/local/include' \
CC='cc' \
CXX='c++' \
'./configure' \
'--with-apxs=/usr/local/sbin/apxs' \
'--with-config-file-path=/usr/local/etc' \
'--enable-versioning' \
'--with-regex=system' \
'--without-gd' \
'--without-mysql' \
'--with-zlib' \
'--with-mysql=/usr/local' \
'--prefix=/usr/local' \
'i386-portbld-freebsd4.5' \
"$@"

libphp4.so              1024009

works!

So, problem is in mcrypt AND mhash. Very strange. Maybe there is something
with linking in?

8. Just for fun. Manual zlib, mysql, mcrypt, mhash:

'./configure' \
'--with-apxs=/usr/local/sbin/apxs' \
'--with-config-file-path=/usr/local/etc' \
'--with-mysql=/usr/local' \
'--with-zlib' \
'--with-mcrypt=/usr/local' \
'--with-mhash=/usr/local' \
"$@"

libphp4.so              2702054 (much larger...)

still don't work.

9. Lets try working mysql, zlib with IMAP (cclient).

CFLAGS='-O -pipe  -I/usr/local/include' \
CXXFLAGS=' -O -pipe  -I/usr/local/include' \
CC='cc' \
CXX='c++' \
'./configure' \
'--with-apxs=/usr/local/sbin/apxs' \
'--with-config-file-path=/usr/local/etc' \
'--enable-versioning' \
'--with-regex=system' \
'--without-gd' \
'--without-mysql' \
'--with-zlib' \
'--with-imap=/usr/local' \
'--with-mysql=/usr/local' \
'--prefix=/usr/local' \
'i386-portbld-freebsd4.5' \
"$@"

libphp4.so              1097069

works. 

Looks like the problem really lies in mcrypt and mhash.

10. Lets try mysql + mhash?

CFLAGS='-O -pipe  -I/usr/local/include' \
CXXFLAGS=' -O -pipe  -I/usr/local/include' \
CC='cc' \
CXX='c++' \
'./configure' \
'--with-apxs=/usr/local/sbin/apxs' \
'--with-config-file-path=/usr/local/etc' \
'--enable-versioning' \
'--with-regex=system' \
'--without-gd' \
'--without-mysql' \
'--with-mhash=/usr/local' \
'--with-mysql=/usr/local' \
'--prefix=/usr/local' \
'i386-portbld-freebsd4.5' \
"$@"

libphp4.so              1010177

yep. doesn't work.

11. The same should be with mysql + mcrypt, right?

CFLAGS='-O -pipe  -I/usr/local/include' \
CXXFLAGS=' -O -pipe  -I/usr/local/include' \
CC='cc' \
CXX='c++' \
'./configure' \
'--with-apxs=/usr/local/sbin/apxs' \
'--with-config-file-path=/usr/local/etc' \
'--enable-versioning' \
'--with-regex=system' \
'--without-gd' \
'--without-mysql' \
'--with-mcrypt=/usr/local' \
'--with-mysql=/usr/local' \
'--prefix=/usr/local' \
'i386-portbld-freebsd4.5' \
"$@"

libphp4.so              1032193

doesn't work. 

So, maybe the problem is localized. Few more checks

12. FreeBSD port make - php 4.2.0, mysql, zlib, mhash, mcrypt, imap, gd2
to make sure
it's not a version problem.

CFLAGS='-O -pipe  -I/usr/local/include' \
CXXFLAGS=' -O -pipe  -I/usr/local/include' \
CC='cc' \
CXX='c++' \
'./configure' \
'--with-apxs=/usr/local/sbin/apxs' \
'--with-config-file-path=/usr/local/etc' \
'--enable-versioning' \
'--with-regex=system' \
'--without-gd' \
'--without-mysql' \
'--with-gd=/usr/local' \
'--enable-gd-native-ttf' \
'--with-freetype-dir=/usr/local' \
'--with-jpeg-dir=/usr/local' \
'--with-png-dir=/usr/local' \
'--with-zlib' \
'--with-mcrypt=/usr/local' \
'--with-mhash=/usr/local' \
'--with-imap=/usr/local' \
'--with-mysql=/usr/local' \
'--prefix=/usr/local' \
'i386-portbld-freebsd4.5' \
"$@"

libphp4.so              1203049

doesn't work.

13. FreeBSD port make - php 4.2.0, mysql, zlib, imap, gd2 to make sure
it's mhash AND mcrypt problem.

CFLAGS='-O -pipe  -I/usr/local/include' \
CXXFLAGS=' -O -pipe  -I/usr/local/include' \
CC='cc' \
CXX='c++' \
'./configure' \
'--with-apxs=/usr/local/sbin/apxs' \
'--with-config-file-path=/usr/local/etc' \
'--enable-versioning' \
'--with-regex=system' \
'--without-gd' \
'--without-mysql' \
'--with-gd=/usr/local' \
'--enable-gd-native-ttf' \
'--with-freetype-dir=/usr/local' \
'--with-jpeg-dir=/usr/local' \
'--with-png-dir=/usr/local' \
'--with-zlib' \
'--with-imap=/usr/local' \
'--with-mysql=/usr/local' \
'--prefix=/usr/local' \
'i386-portbld-freebsd4.5' \
"$@"
 
libphp4.so              1173789

cool. doesn't work. gosh, what's wrong? Continue investigations:

14. FreeBSD port make: working (php 4.1.2, mysql, zlib with IMAP
(cclient)) + gd2.

CFLAGS='-O -pipe  -I/usr/local/include' \
CXXFLAGS=' -O -pipe  -I/usr/local/include' \
CC='cc' \
CXX='c++' \
'./configure' \
'--with-apxs=/usr/local/sbin/apxs' \
'--with-config-file-path=/usr/local/etc' \
'--enable-versioning' \
'--with-regex=system' \
'--without-gd' \
'--without-mysql' \
'--with-gd=/usr/local' \
'--enable-gd-native-ttf' \
'--with-freetype-dir=/usr/local' \
'--with-jpeg-dir=/usr/local' \
'--with-png-dir=/usr/local' \
'--with-zlib' \
'--with-imap=/usr/local' \
'--with-mysql=/usr/local' \
'--prefix=/usr/local' \
'i386-portbld-freebsd4.5' \
"$@"

libphp4.so              1164165

doesn't work. gosh, i'm tired. maybe problem lies in gd2 too? 

15. FreeBSD port make: PHP 4.1.2 mysql + gd2 + zlib.

CFLAGS='-O -pipe  -I/usr/local/include' \
CXXFLAGS=' -O -pipe  -I/usr/local/include' \
CC='cc' \
CXX='c++' \
'./configure' \
'--with-apxs=/usr/local/sbin/apxs' \
'--with-config-file-path=/usr/local/etc' \
'--enable-versioning' \
'--with-regex=system' \
'--without-gd' \
'--without-mysql' \
'--with-gd=/usr/local' \
'--enable-gd-native-ttf' \
'--with-freetype-dir=/usr/local' \
'--with-jpeg-dir=/usr/local' \
'--with-png-dir=/usr/local' \
'--with-zlib' \
'--with-mysql=/usr/local' \
'--prefix=/usr/local' \
'i386-portbld-freebsd4.5' \
"$@"

libphp4.so              1087009

doesn't work.


-- 
Edit bug report at http://bugs.php.net/?id=16906&edit=1
-- 
Fixed in CVS:        http://bugs.php.net/fix.php?id=16906&r=fixedcvs
Fixed in release:    http://bugs.php.net/fix.php?id=16906&r=alreadyfixed
Need backtrace:      http://bugs.php.net/fix.php?id=16906&r=needtrace
Try newer version:   http://bugs.php.net/fix.php?id=16906&r=oldversion
Not developer issue: http://bugs.php.net/fix.php?id=16906&r=support
Expected behavior:   http://bugs.php.net/fix.php?id=16906&r=notwrong
Not enough info:     http://bugs.php.net/fix.php?id=16906&r=notenoughinfo
Submitted twice:     http://bugs.php.net/fix.php?id=16906&r=submittedtwice

Reply via email to