Bug #17257 Updated: Sort functions broken on 64bit platform

From: Date: Fri, 21 Jun 2002 18:07:38 +0000
Subject: Bug #17257 Updated: Sort functions broken on 64bit platform
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-11716@lists.php.net to get a copy of this message
ID: 17257 Updated by: mfischer@php.net Reported By: mlong@mlong.org Status: Feedback Bug Type: Scripting Engine problem Operating System: Compaq Tru64 5.1 PHP Version: 4.2.1 New Comment: $%#^%^$%, here is the text, hopefully more readable: If two members compare as equal, their order in the sorted array is undefined.Up to PHP 4.0.6 the user defined functions would keep the original order for thoes elements, but with the new sort algorithm intruduced with 4.1.0 this is no longer the case as there is no solution to do so in an efficient way.there is no solution to do so in an efficient way.way. Previous Comments: ------------------------------------------------------------------------ [2002-06-21 14:06:09] mfischer@php.net There was some discussing lately and this note has been added to the documentat. Can you check if this actually applies to you (I hope you can read it and it doesn't get to badly wrapped) ? + If two members compare as equal, their order in the sorted array is undefined. + Up to PHP 4.0.6 the user defined functions would keep the original order for + thoes elements, but with the new sort algorithm intruduced with 4.1.0 this + is no longer the case as there is no solution to do so in an efficient way. Btw, about your compiler error: it seems this is related to oci8 (the rest is only warning but oci8 throws a real error from what I can read), so please disable this option as long as you're testing the sort functionality. ------------------------------------------------------------------------ [2002-06-21 13:57:27] mlong@mlong.org Do any developers want to take me up on my offer to give a tru64 account so this bug can be fixed, and the development builds can be modified so they will compile properly? ------------------------------------------------------------------------ [2002-06-02 00:00:19] mlong@mlong.org If nobody has access to one then I'm sure I could setup a workstation that one of the developers could login to fix it. ------------------------------------------------------------------------ [2002-06-01 23:52:24] mfischer@php.net Mhmm .. I wonder if someone of the developers has actually access to such a machine to test it. Reopening. ------------------------------------------------------------------------ [2002-06-01 23:11:50] mlong@mlong.org [php4-STABLE-200206010900] --enable-pcntl --enable-trans-sid --enable-ftp --without-mysql --enable-sockets --with-oci8=/usr/users/oracle/app/oracle/product/8.0.6 --without-mbstring noc03> make Making all in Zend yacc -p zend -v -d ./zend_language_parser.y -o zend_language_parser.c fatal error: invalid escape, or illegal reserved word: pure_parser, line 47 *** Exit 1 Stop. *** Exit 1 Stop. [php4-200206010900] --enable-pcntl --enable-trans-sid --enable-ftp --without-mysql --enable-sockets --with-oci8=/usr/users/oracle/app/oracle/product/8.0.6 --without-mbstring noc03> make /bin/cc -std0 -Iext/ctype/ -I/web/php4-200206010900/ext/ctype/ -DPHP_ATOM_INC - I/web/php4-200206010900/include -I/web/php4-200206010900/main -I/web/php4-200206 010900 -I/web/php4-200206010900/Zend -I/usr/users/oracle/app/oracle/product/8.0. 6/network/public -I/web/php4-200206010900/ext/xml/expat -I/web/php4-20020601090 0/TSRM -g -c /web/php4-200206010900/ext/ctype/ctype.c -o ext/ctype/ctype.o && echo > ext/ctype/ctype.lo /bin/cc -std0 -Iext/ftp/ -I/web/php4-200206010900/ext/ftp/ -DPHP_ATOM_INC -I/we b/php4-200206010900/include -I/web/php4-200206010900/main -I/web/php4-2002060109 00 -I/web/php4-200206010900/Zend -I/usr/users/oracle/app/oracle/product/8.0.6/ne twork/public -I/web/php4-200206010900/ext/xml/expat -I/web/php4-200206010900/TS RM -g -c /web/php4-200206010900/ext/ftp/php_ftp.c -o ext/ftp/php_ftp.o && echo > ext/ftp/php_ftp.lo /bin/cc -std0 -Iext/ftp/ -I/web/php4-200206010900/ext/ftp/ -DPHP_ATOM_INC -I/we b/php4-200206010900/include -I/web/php4-200206010900/main -I/web/php4-2002060109 00 -I/web/php4-200206010900/Zend -I/usr/users/oracle/app/oracle/product/8.0.6/ne twork/public -I/web/php4-200206010900/ext/xml/expat -I/web/php4-200206010900/TS RM -g -c /web/php4-200206010900/ext/ftp/ftp.c -o ext/ftp/ftp.o && echo > ext/f tp/ftp.lo /bin/cc -std0 -Iext/oci8/ -I/web/php4-200206010900/ext/oci8/ -DPHP_ATOM_INC -I/ web/php4-200206010900/include -I/web/php4-200206010900/main -I/web/php4-20020601 0900 -I/web/php4-200206010900/Zend -I/usr/users/oracle/app/oracle/product/8.0.6/ network/public -I/web/php4-200206010900/ext/xml/expat -I/web/php4-200206010900/ TSRM -g -c /web/php4-200206010900/ext/oci8/oci8.c -o ext/oci8/oci8.o && echo > ext/oci8/oci8.lo cc: Warning: /web/php4-200206010900/ext/oci8/oci8.c, line 1351: In this statemen t, the referenced type of the pointer value "memset(...)" is "signed char", whic h is not compatible with "struct declared without a tag". (ptrmismatch) statement = ecalloc(1,sizeof(oci_statement)); --------^ cc: Warning: /web/php4-200206010900/ext/oci8/oci8.c, line 2728: In this statemen t, the referenced type of the pointer value "memset(...)" is "signed char", whic h is not compatible with "struct declared without a tag". (ptrmismatch) define = ecalloc(1,sizeof(oci_define)); --------^ cc: Warning: /web/php4-200206010900/ext/oci8/oci8.c, line 3092: In this statemen t, & before array "buf" is ignored. (addrarray) while ((loblen = read(fp, &buf, sizeof(buf))) > 0) { ------------------------------------------^ cc: Warning: /web/php4-200206010900/ext/oci8/oci8.c, line 3093: In this statemen t, & before array "buf" is ignored. (addrarray) CALL_OCI_RETURN(connection->error, OCILobWrite( ------------------------^ cc: Error: /web/php4-200206010900/ext/oci8/oci8.c, line 4243: In this statement, "OCI_ATTR_STATEMENT" is not declared. (undeclared) CALL_OCI_RETURN(statement->error, OCIAttrGet( ------------------------^ cc: Warning: /web/php4-200206010900/ext/oci8/oci8.c, line 4830: In the initializ er for __s, the referenced type of the pointer value "(str)" is "unsigned char", which is not compatible with "signed char" because they differ by signed/unsign ed attribute. (ptrmismatch1) RETURN_STRINGL(str,strlen(str),1); ---------------------------^ *** Exit 1 Stop. ------------------------------------------------------------------------ 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/17257 -- Edit this bug report at http://bugs.php.net/?id=17257&edit=1

« previous php.bugs (#11716) next »