ID: 45740 Updated by: [EMAIL PROTECTED] Reported By: Bjorn dot Wiberg at its dot uu dot se -Status: Assigned +Status: Closed Bug Type: Compile Failure Operating System: IBM AIX 5.3 5300-08-01-0819 PHP Version: 5.3CVS-2008-08-07 (snap) Assigned To: derick New Comment:
This bug has been fixed in CVS. Snapshots of the sources are packaged every three hours; this change will be in the next snapshot. You can grab the snapshot at http://snaps.php.net/. Thank you for the report, and for helping us make PHP better. Previous Comments: ------------------------------------------------------------------------ [2008-08-10 20:26:43] [EMAIL PROTECTED] Here is a patch that fixes *sprintf() compile issues: http://dev.daylessday.org/diff/magic_sprintf.diff Though it still segfault both on Linux (in regfree()) and AIX (see bt below): (gdb) r -r '$r = finfo_open(); var_dump(finfo_file($r, "stub.c"));' Starting program: /fastemp/tony/5_3/sapi/cli/php -r '$r = finfo_open(); var_dump(finfo_file($r, "stub.c"));' Program received signal SIGSEGV, Segmentation fault. 0x10341ee4 in bs1 (m=0x103eda68) at /fastemp/tony/5_3/ext/fileinfo/libmagic/apprentice.c:2159 2159 m->cont_level = swap2(m->cont_level); (gdb) bt #0 0x10341ee4 in bs1 (m=0x103eda68) at /fastemp/tony/5_3/ext/fileinfo/libmagic/apprentice.c:2159 #1 0x10341c24 in byteswap (magic=0x103eda68, nmagic=8476) at /fastemp/tony/5_3/ext/fileinfo/libmagic/apprentice.c:2089 #2 0x10341838 in apprentice_map (ms=0x201a1ad8, magicp=0x2ff22008, nmagicp=0x2ff2200c, fn=0x0) at /fastemp/tony/5_3/ext/fileinfo/libmagic/apprentice.c:1988 #3 0x1033c570 in apprentice_1 (ms=0x201a1ad8, fn=0x0, action=0, mlist=0x201a1bf8) at /fastemp/tony/5_3/ext/fileinfo/libmagic/apprentice.c:277 #4 0x1033c8d0 in file_apprentice (ms=0x201a1ad8, fn=0x0, action=0) at /fastemp/tony/5_3/ext/fileinfo/libmagic/apprentice.c:358 #5 0x1033b8c0 in magic_load (ms=0x201a1ad8, magicfile=0x0) at /fastemp/tony/5_3/ext/fileinfo/libmagic/magic.c:178 #6 0x1033a848 in zif_finfo_open (ht=0, return_value=0x20065178, return_value_ptr=0x0, this_ptr=0x0, return_value_used=1) at /fastemp/tony/5_3/ext/fileinfo/fileinfo.c:341 #7 0x10099bfc in zend_do_fcall_common_helper_SPEC (execute_data=0x201619b8) at /fastemp/tony/5_3/Zend/zend_vm_execute.h:315 #8 0x1009ef74 in ZEND_DO_FCALL_SPEC_CONST_HANDLER (execute_data=0x201619b8) at /fastemp/tony/5_3/Zend/zend_vm_execute.h:1569 #9 0x10098e3c in execute (op_array=0x200658cc) at /fastemp/tony/5_3/Zend/zend_vm_execute.h:65 #10 0x100379a4 in zend_eval_string (str=0x2ff22bf2 "$r = finfo_open(); var_dump(finfo_file($r, \"stub.c\"));", retval_ptr=0x0, string_name=0x10366fb8 "Command line code") at /fastemp/tony/5_3/Zend/zend_execute_API.c:1111 #11 0x10037be0 in zend_eval_string_ex (str=0x2ff22bf2 "$r = finfo_open(); var_dump(finfo_file($r, \"stub.c\"));", retval_ptr=0x0, string_name=0x10366fb8 "Command line code", handle_exceptions=1) at /fastemp/tony/5_3/Zend/zend_execute_API.c:1146 #12 0x10002d40 in main (argc=3, argv=0x2ff22b44) at /fastemp/tony/5_3/sapi/cli/php_cli.c:1194 ------------------------------------------------------------------------ [2008-08-08 05:17:15] Bjorn dot Wiberg at its dot uu dot se The old mime_magic extension has, to my knowledge, never required nor used libmagic. We "converted" to Fileinfo and libmagic about half a year ago. Prior to that, we only used mime_magic. I plan on removing the mime_magic flag after alpha2 is released (as, if I interpret the road map correctly, some "last" function needed to cover up for mime_magic will be available then). Regarding the bundled libmagic, my (sidenote) question was whether the bundled one was another libmagic library than the one I pointed out (in case there are several implementations with a similar name). I know that my "separate" libmagic won't be used and that it has nothing (else) to do with the bundled one. The bug report is only about asprintf and vasprintf. There are some HAVE_ASPRINTF defines (something like that) in the bundled source and I guess that something is wrong there, i.e., that those are set without asprintf or vasprintf being available. Or that some configure check has detected that those are available but that the bundled libmagic does not include all needed headers and does not link with the C library as the man pages for asprintf/vasprintf indicate. On the other hand, those man pages also say that those functions are a GNU feature, so that they might not be available on all platforms. Which is why the HAVE_ASPRINTF stuff appears important... I'm thankful for you looking into this. We're close to the goal now, i.e. successful compilation, even though I know that AIX may sound obscure to some. ;-) Best regards, Björn ------------------------------------------------------------------------ [2008-08-07 22:09:46] [EMAIL PROTECTED] Of course since you have also enabled the old deprecated mime magic extension, it will cause linking with the external libmagic too.. ------------------------------------------------------------------------ [2008-08-07 22:07:49] [EMAIL PROTECTED] FYI: We have a bundled libmagic. Whatever you have in your system has nothing to with this. ------------------------------------------------------------------------ [2008-08-07 13:38:21] Bjorn dot Wiberg at its dot uu dot se A small sidenote: I'm not sure which libmagic PHP is using; the libmagic I have tried separately (on AIX) is the one from ftp://ftp.astron.com/pub/file/ ("The file(1) command and libmagic(3) library"), and I don't recall encountering anything like this with that one. ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/45740 -- Edit this bug report at http://bugs.php.net/?id=45740&edit=1