ID: 16906 Updated by: [EMAIL PROTECTED] Reported By: [EMAIL PROTECTED] Status: Open Bug Type: MySQL related -Operating System: FreeBSD 4.5 +Operating System: FreeBSD -PHP Version: 4.1.2 +PHP Version: 4.1.2, 4.2.0 New Comment:
The problem is: _every_ UPDATE query executed from PHP reports this warning. Data become updated, but execution stops. The same query executed in plain mysql does the same, but does not report a warning. Previous Comments: ------------------------------------------------------------------------ [2002-04-30 20:12:41] [EMAIL PROTECTED] This error occured with me, when synching topics in phpBB admin. But my theory is, that for some MySQL errors, php is unable to get the right error string and defaults to 'unable to get result'. The error does show, when you use the mysql client CLI. Could you test that, by executing the exact query that fails, via the mysql client CLI? ------------------------------------------------------------------------ [2002-04-29 11:35:39] [EMAIL PROTECTED] mysql> CHECK TABLE wpm_tree_en; +----------------------+-------+----------+----------+ | Table | Op | Msg_type | Msg_text | +----------------------+-------+----------+----------+ | project3.wpm_tree_en | check | status | OK | +----------------------+-------+----------+----------+ 1 row in set (0.03 sec) Everything fine, as i see. I do run phpBB, but i run a completely different and unrelated test script. I've done myisamchk -r on all tables. ------------------------------------------------------------------------ [2002-04-29 11:28:42] [EMAIL PROTECTED] Just for fun: on the query that fails, run a CHECK TABLE on the tables involved. See if you get a 'error 134' from table handler. Are you by any chance running phpBB-1.4.x? I've seen this error 'unable to save result set' a few times, while it is actually the above table handler error in mysql. ------------------------------------------------------------------------ [2002-04-29 11:01:08] [EMAIL PROTECTED] 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 this bug report at http://bugs.php.net/?id=16906&edit=1