Re: PHP 4.0 Bug #6647 Updated: crypt() function causes Arithmetic exception

From: Date: Sun, 24 Dec 2000 16:49:05 +0000
Subject: Re: PHP 4.0 Bug #6647 Updated: crypt() function causes Arithmetic exception
References: 1  Groups: php.dev 
Request: Send a blank email to php-dev+get-42221@lists.php.net to get a copy of this message
Yes, it has been fixed in the latest snap (4.0.5-DEV). On Sat, 23 Dec 2000, Rasmus Lerdorf wrote: > FreeBSD? if so, this has been fixed. > > On 24 Dec 2000 gallen@valere.net wrote: > > > ID: 6647 > > User Update by: gallen@valere.net > > Status: Open > > Bug Type: Reproduceable crash > > Description: crypt() function causes Arithmetic exception > > > > This patch (listed under #7617) fixes the FPE problem in FreeBSD 3.4: > > > > Change line 109 in crypt.c to: > > > > srand48((long)time(0) * (long)getpid() * > > (long)(php_combined_lcg()*(double)10000.0)); > > > > > > > > Previous Comments: > > --------------------------------------------------------------------------- > > > > [2000-12-20 23:00:08] gallen@valere.net > > No Good - PHP 4.0.4 causes Apache to core dump! > > (see below) > > > > > > (543 / 43) [/usr/local/src/apache/php-4.0.4]$: gdb /usr/local/www/bin/httpd httpd.core > > GNU gdb 4.18 > > Copyright 1998 Free Software Foundation, Inc. > > GDB is free software, covered by the GNU General Public License, and you are > > welcome to change it and/or distribute copies of it under certain conditions. > > Type "show copying" to see the conditions. > > There is absolutely no warranty for GDB. Type "show warranty" for details. > > This GDB was configured as "i386-unknown-freebsd"... > > (no debugging symbols found)... > > Core was generated by `httpd'. > > Program terminated with signal 8, Floating point exception. > > Reading symbols from /usr/lib/libcrypt.so.2...(no debugging symbols found)... > > done. > > Reading symbols from /usr/local/BerkeleyDB.3.1/lib/libdb-3.1.so... > > (no debugging symbols found)...done. > > Reading symbols from /usr/lib/libc.so.3...(no debugging symbols found)...done. > > Reading symbols from /usr/local/www/libexec/mod_vhost_alias.so... > > (no debugging symbols found)...done. > > Reading symbols from /usr/local/www/libexec/mod_env.so... > > (no debugging symbols found)...done. > > Reading symbols from /usr/local/www/libexec/mod_log_config.so... > > (no debugging symbols found)...done. > > Reading symbols from /usr/local/www/libexec/mod_mime_magic.so... > > (no debugging symbols found)...done. > > ---Type <return> to continue, or q <return> to quit---bt > > Reading symbols from /usr/local/www/libexec/mod_mime.so... > > (no debugging symbols found)...done. > > Reading symbols from /usr/local/www/libexec/mod_negotiation.so... > > (no debugging symbols found)...done. > > Reading symbols from /usr/local/www/libexec/mod_status.so... > > (no debugging symbols found)...done. > > Reading symbols from /usr/local/www/libexec/mod_info.so... > > (no debugging symbols found)...done. > > Reading symbols from /usr/local/www/libexec/mod_include.so... > > (no debugging symbols found)...done. > > Reading symbols from /usr/local/www/libexec/mod_autoindex.so... > > (no debugging symbols found)...done. > > Reading symbols from /usr/local/www/libexec/mod_dir.so... > > (no debugging symbols found)...done. > > Reading symbols from /usr/local/www/libexec/mod_cgi.so... > > (no debugging symbols found)...done. > > Reading symbols from /usr/local/www/libexec/mod_asis.so... > > (no debugging symbols found)...done. > > Reading symbols from /usr/local/www/libexec/mod_imap.so... > > (no debugging symbols found)...done. > > Reading symbols from /usr/local/www/libexec/mod_actions.so... > > (no debugging symbols found)...done. > > Reading symbols from /usr/local/www/libexec/mod_speling.so... > > ---Type <return> to continue, or q <return> to quit--- > > (no debugging symbols found)...done. > > Reading symbols from /usr/local/www/libexec/mod_userdir.so... > > (no debugging symbols found)...done. > > Reading symbols from /usr/local/www/libexec/mod_alias.so... > > (no debugging symbols found)...done. > > Reading symbols from /usr/local/www/libexec/mod_rewrite.so... > > (no debugging symbols found)...done. > > Reading symbols from /usr/local/www/libexec/mod_access.so... > > (no debugging symbols found)...done. > > Reading symbols from /usr/local/www/libexec/mod_auth.so... > > (no debugging symbols found)...done. > > Reading symbols from /usr/local/www/libexec/mod_auth_anon.so... > > (no debugging symbols found)...done. > > Reading symbols from /usr/local/www/libexec/mod_auth_dbm.so... > > (no debugging symbols found)...done. > > Reading symbols from /usr/local/www/libexec/mod_auth_db.so... > > (no debugging symbols found)...done. > > Reading symbols from /usr/local/www/libexec/mod_digest.so... > > (no debugging symbols found)...done. > > Reading symbols from /usr/local/www/libexec/libproxy.so... > > (no debugging symbols found)...done. > > Reading symbols from /usr/local/www/libexec/mod_cern_meta.so... > > (no debugging symbols found)...done. > > ---Type <return> to continue, or q <return> to quit--- > > Reading symbols from /usr/local/www/libexec/mod_expires.so... > > (no debugging symbols found)...done. > > Reading symbols from /usr/local/www/libexec/mod_headers.so... > > (no debugging symbols found)...done. > > Reading symbols from /usr/local/www/libexec/mod_usertrack.so... > > (no debugging symbols found)...done. > > Reading symbols from /usr/local/www/libexec/mod_unique_id.so... > > (no debugging symbols found)...done. > > Reading symbols from /usr/local/www/libexec/mod_setenvif.so... > > (no debugging symbols found)...done. > > Reading symbols from /usr/local/www/libexec/libphp4.so... > > done. > > Reading symbols from /usr/lib/libpam.so.1...done. > > Reading symbols from /usr/home/pgsql/lib/libpq.so.2...done. > > Reading symbols from /usr/lib/libm.so.2...done. > > Reading symbols from /usr/libexec/ld-elf.so.1...done. > > #0 0x282c3342 in php_minit_crypt (type=1, module_number=2) at crypt.c:109 > > 109 srand48((unsigned int) time(0) * getpid() * (php_combined_lcg() * > > 10000.0)); > > (gdb) > > (gdb) > > > > --------------------------------------------------------------------------- > > > > [2000-11-21 04:23:40] sniper@php.net > > Could you try latest snapshot from http://snaps.php.net/ > > as I think this is fixed.. > > > > --Jani > > > > --------------------------------------------------------------------------- > > > > [2000-10-12 12:37:43] gallen@valere.net > > Still broken in version 4.0.3 > > > > Crypt() works in 4.0.1pl2 under FreeBSD 3.4 but causes > > Arithmetic exception in Version 4.0.2 and 4.0.3. > > > > > > --------------------------------------------------------------------------- > > > > [2000-09-10 00:05:39] gallen@valere.net > > BTW, The crypt function works fine in FreeBSD 4.0 with/4.0.2 > > > > GDB Output > > ----------- > > Program received signal SIGFPE, Arithmetic exception. > > 0x282d1139 in php_if_crypt (ht=1, return_value=0x81038cc, this_ptr=0x0, > > return_value_used=1) at crypt.c:153 > > 153 srand48((unsigned int) time(0) * getpid() * (php_combine---Type > > <return> to continue, or > > q <return> to quit--- > > d_lcg() * 10000.0)); > > (gdb) bt > > #0 0x282d1139 in php_if_crypt (ht=1, return_value=0x81038cc, this_ptr=0x0, > > return_value_used=1) at crypt.c:153 > > #1 0x2826c22a in execute (op_array=0x812568c) at ./zend_execute.c:1519 > > #2 0x282785db in zend_execute_scripts (type=8, file_count=3) at zend.c:712 > > #3 0x28287324 in php_execute_script (primary_file=0xbfbfda40) at main.c:1173 > > #4 0x282841b9 in apache_php_module_main (r=0x8132034, display_source_mode=0) > > at sapi_apache.c:89 > > #5 0x28284a71 in send_php (r=0x8132034, display_source_mode=0, filename=0x0) > > at mod_php4.c:503 > > #6 0x28284aa4 in send_parsed_php (r=0x8132034) at mod_php4.c:514 > > #7 0x805371f in ap_invoke_handler () > > #8 0x8066401 in process_request_internal () > > #9 0x8066460 in ap_process_request () > > #10 0x805dda9 in child_main () > > #11 0x805df34 in make_child () > > #12 0x805e08f in startup_children () > > #13 0x805e640 in standalone_main () > > #14 0x805ee9f in main () > > #15 0x804e881 in _start () > > > > Configure > > ---------- > > CPPFLAGS="-I/usr/local/include/gd/ -I/usr/local/BerkeleyDB.3.1/include/" > > LDFLAGS=-L/usr/local/BerkeleyDB.3.1/lib/ > > ./configure --with-apxs=/usr/local/www/bin/apxs > > --disable-debug > > --with-pgsql=/usr/home/pgsql > > --with-xml > > --enable-track-vars > > --enable-trans-sid > > --with-db3=/usr/local/BerkeleyDB.3.1 > > --with-mcrypt > > --enable-ftp > > > > HTML > > ---- > > <html> > > <head> > > <title>test crypt</title> > > </head> > > <body> > > <?php > > echo "Current PHP version: ".phpversion()."<br>"; > > $rc = crypt("password"); > > echo "rc=$rc<br>n"; > > echo phpinfo(); > > ?> > > </body> > > </html> > > > > > > > > > > > > --------------------------------------------------------------------------- > > > > > > Full Bug description available at: > > http://bugs.php.net/?id=6647 > > > > > > -- > > PHP Development Mailing List <http://www.php.net/> > > To unsubscribe, e-mail: php-dev-unsubscribe@lists.php.net > > For additional commands, e-mail: php-dev-help@lists.php.net > > To contact the list administrators, e-mail: php-list-admin@lists.php.net > > > >

« previous php.dev (#42221) next »