ID:               26949
 Updated by:       [EMAIL PROTECTED]
 Reported By:      alucard at vitriolic dot org
-Status:           Open
+Status:           Feedback
 Bug Type:         Math related
 Operating System: Solaris 9
 PHP Version:      4CVS-2004-01-18
 New Comment:

Try adding 'srand();' call there:

# sapi/cli/php -r 'srand(); echo rand(0,100),"\n";'

Does this work better?
(Note: I can not reproduce this within Linux)



Previous Comments:
------------------------------------------------------------------------

[2004-01-18 02:04:50] alucard at vitriolic dot org

Same results:

# rm config.cache
config.cache: No such file or directory
# ./configure --disable-all --disable-cgi --enable-experimental-zts
# make clean && make
# sapi/cli/php -r 'echo rand(),"\n"; echo rand(0,100),"\n";'
29622
0
# sapi/cli/php -r 'echo rand(),"\n"; echo rand(0,100),"\n";'
6807
0
# sapi/cli/php -r 'echo rand(),"\n"; echo rand(0,100),"\n";'
2050
0
# sapi/cli/php -v
PHP 4.3.5RC2-dev (cli) (built: Jan 18 2004 00:52:22)

Without zts enabled, the results are:
# sapi/cli/php -r 'echo rand(),"\n"; echo rand(0,100),"\n";'
2121634529
48
# sapi/cli/php -r 'echo rand(),"\n"; echo rand(0,100),"\n";'
1303411959
20

------------------------------------------------------------------------

[2004-01-17 20:20:48] [EMAIL PROTECTED]

Please try using this CVS snapshot:

  http://snaps.php.net/php4-STABLE-latest.tar.gz
 
For Windows:
 
  http://snaps.php.net/win32/php4-win32-STABLE-latest.zip



------------------------------------------------------------------------

[2004-01-17 17:34:41] alucard at vitriolic dot org

Description:
------------
Bug #24909 is still an issue with latest build and Solaris 9.

When rand() is called with no arguments, it operates as expected.  When
rand(min,max) is called, it always returns value 'min'.

This problem only occurs when ZTS is enabled.  When it's not, both
calls to rand() work as expected, though the value ranges are
completely different.

To demonstrate:

# uname -a
SunOS XXXXXX 5.9 Generic_112233-08 sun4u sparc SUNW,Ultra-Enterprise

# rm config.cache
# ./configure --disable-all --disable-cgi --enable-experimental-zts
# make clean && make
# sapi/cli/php -r 'echo rand(),"\n"; echo rand(0,100),"\n";'
28909
0
# sapi/cli/php -r 'echo rand(),"\n"; echo rand(0,100),"\n";'
21885
0

# rm config.cache
# ./configure --disable-all --disable-cgi
# make clean && make
# sapi/cli/php -r 'echo rand(),"\n"; echo rand(0,100),"\n";'
1116498057
87
# sapi/cli/php -r 'echo rand(),"\n"; echo rand(0,100),"\n";'
102735333
95

Note that with zts enabled, the rand() values are much smaller, and
rand(min,max) always returns min.  Without it, rand values are much
larger, and rand(min,max) operates as expected.





------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=26949&edit=1

Reply via email to