Closed Bug 730004 Opened 12 years ago Closed 3 years ago

script is not running properly with firefox 10 when jit is enabled

Categories

(Core :: JavaScript Engine: JIT, defect)

10 Branch
x86_64
Windows 7
defect
Not set
normal

Tracking

()

RESOLVED INCOMPLETE
Tracking Status
firefox10 --- affected
firefox11 - ---
firefox12 - ---
firefox13 - ---

People

(Reporter: me, Unassigned)

Details

(Keywords: regression)

Attachments

(2 files)

User Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:10.0.2) Gecko/20100101 Firefox/10.0.2
Build ID: 20120215223356

Steps to reproduce:

I disabled the jit and it's working fine.


Actual results:

I've written a javascript application. See a sample
www.english-attack.com/saywhat/play/101477
It's working with other browsers and it was working with previous firefox versions.
I tryed debugging it with firebug and saw a strange situation.
Some exceptions says some variable is null, yet firebug shows the correct value of the variable.


Expected results:

These exceptions shouldn't be thrown
The bug is reproduced on multiple machines, on both Windows XP, Mac OS 10.6 and 10.7.
How do I reproduce the bug?  Loading http://www.english-attack.com/saywhat/play/101477 in Firefox 10 plays a video for me for 39 seconds, then stops; I see no alerts and no exceptions in the Error console or web console.

Is the video stopping the bug?  I see that in Firefox 9 too...
Assignee: nobody → general
Component: Untriaged → JavaScript Engine
Product: Firefox → Core
QA Contact: untriaged → general
Attached image undefined variable
normally, video is played and lines sentences move with right timing.
when there is a text field( the ones blue underscores ) video stops and waits for user to input the correct word.
Slightly difficult to reproduce. because this is lack of exact Step to reproduce.

Regression window(cached m-c)
Cannot reproduce:
http://hg.mozilla.org/mozilla-central/rev/fb5d85637013
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:9.0a1) Gecko/20110916 Firefox/9.0a1 ID:20110916154748
Error shows:
http://hg.mozilla.org/mozilla-central/rev/acc41ac331ce
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:9.0a1) Gecko/20110916 Firefox/9.0a1 ID:20110916203248
Pushlog:
http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=fb5d85637013&tochange=acc41ac331ce


Regression window(cached JM)
Cannot reproduce:
http://hg.mozilla.org/projects/jaegermonkey/rev/445b1e86590c
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:9.0a1) Gecko/20110907 Firefox/9.0a1 ID:20110907040317
Error shows:
http://hg.mozilla.org/projects/jaegermonkey/rev/c11b17509d60
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:9.0a1) Gecko/20110906 Firefox/9.0a1 ID:20110907035940
Pushlog:
http://hg.mozilla.org/projects/jaegermonkey/pushloghtml?fromchange=445b1e86590c&tochange=c11b17509d60
Aha, thanks.  So steps to reproduce that just worked for me:

1)  Load http://www.english-attack.com/saywhat/play/101477
2)  Wait for the video to stop
3)  Click the "Skip" button.

That gives me the "cdata is undefined" error.

On the other hand, in Firefox 9 I get an exception about "SayWhatPlayer.transcriptData is null".

Were you seeing these issues before Firefox 10 too?
Alice0775, thanks!

Sounds like this is a type inference regression.  Brian, any ideas?
Status: UNCONFIRMED → NEW
Ever confirmed: true
Keywords: regression
FYI, In local build,
Last good : 445b1e86590c
First bad : c2726640029f+c11b17509d60
(In reply to Boris Zbarsky (:bz) from comment #5)
> Aha, thanks.  So steps to reproduce that just worked for me:
> 
> 1)  Load http://www.english-attack.com/saywhat/play/101477
> 2)  Wait for the video to stop
> 3)  Click the "Skip" button.
> 
> That gives me the "cdata is undefined" error.
> 
> On the other hand, in Firefox 9 I get an exception about
> "SayWhatPlayer.transcriptData is null".
> 
> Were you seeing these issues before Firefox 10 too?

I'm not sure about latest releases. I've written these codes almost a year ago and didn't touch much since then. But lately, i checked due to some customer reports. 

I just test it on firefox 3.6, 4.0(jit enabled) inside virtualbox and it worked without a problem.
Tracking for FF11,12,13 since this is a recent regression but it's not yet clear if this is causing significant user pain with other sites. We won't track for the ESR until the issue is fully understood and we can make a risk/reward analysis.
The easiest way to reproduce is to compare with an older, working version of Firefox, like 4.x or to compare with Chrome or another browser. 

Is there a workaround you can suggest to avoid JIT specific issue? Ie if there is a particular call that disables the JIT, we could use that. Even if we know that sooner or later the JIT compiler with catch up with it, the issues will also hopefully be addressed.

Thanks.
Using 'with' in a script will disable the JIT for that script, e.g. adding a 'with({}) {}' to the top.  I'm able to reproduce the problem but haven't narrowed down to the cause yet.
(In reply to Brian Hackett (:bhackett) from comment #11)
> Using 'with' in a script will disable the JIT for that script

That did it, we worked around the issue for now. I still hope this bug itself will be fixed.
No other dupes over the FF10 cycle, no need to track for FF11 and up.
Assignee: general → nobody
Status: NEW → RESOLVED
Closed: 3 years ago
Component: JavaScript Engine → JavaScript Engine: JIT
Resolution: --- → INCOMPLETE
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: