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

From: Date: Sun, 24 Dec 2000 04:21:00 +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-42201@lists.php.net to get a copy of this message
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 (#42201) next »