[Webkit-unassigned] [Bug 22595] New: Strange Math.random() behavior (firs time almost always returns approx same number)
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Tue Dec 2 11:47:44 PST 2008
https://bugs.webkit.org/show_bug.cgi?id=22595
Summary: Strange Math.random() behavior (firs time almost always
returns approx same number)
Product: WebKit
Version: 525.x (Safari 3.1)
Platform: Macintosh
OS/Version: Mac OS X 10.5
Status: UNCONFIRMED
Severity: Normal
Priority: P2
Component: JavaScriptCore
AssignedTo: webkit-unassigned at lists.webkit.org
ReportedBy: dylanryan at mac.com
Math.random() seems to always return a very similar number the first time it is
called. This happens both in the browser (a serious problem) and in JSC (less
of an issue but easier to test).
First, to verify the problem in the browser.
Step 1: Set your Safari preferences so that "new windows open with" a blank
page
Step 2: Quit (you must quit!) Safari.
Step 3: Relaunch Safari.
Step 4: Enter javascript:alert(Math.random()) into the address bar and press
enter
Step 5: Note the number it spits out (at least the first 4 or 5 digits)
repeat steps 2-5 multiple times (you MUST QUIT between tries).
Notice how the numbers are almost identical?
The JavaScript shell exhibits the same behavior, and is much easier to test
It looks like the first invocation of Math.random() is on a slow increment,
changing at 4 or 5 places past the decimal approx. every second. The following
bash script shows this nicely [obviously, change if jsc is in a different place
on your computer]:
#! /bin/bash
i=0
while (( i < 500 ))
do
echo "Math.random();" |
/Applications/WebKit.app/Contents/Frameworks/10.5/JavaScriptCore.framework/Resources/jsc
((++i))
done
I'd hazard a guess that the first invocation simply returns the current
timestamp, modified in some manner, but I have no basis for this other than
seeing the numbers change every second.
Firefox does NOT exhibit this same behavior. The WebKit nightlies do exhibit
the same behavior as Safari, but you have to disable the WebKit start page in
order to get a blank page to load.
--
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
More information about the webkit-unassigned
mailing list