Last Comment Bug 730004 - script is not running properly with firefox 10 when jit is enabled
: script is not running properly with firefox 10 when jit is enabled
Status: NEW
: regression
Product: Core
Classification: Components
Component: JavaScript Engine (show other bugs)
: 10 Branch
: x86_64 Windows 7
: -- normal with 1 vote (vote)
: ---
Assigned To: Nobody; OK to take it and work on it
:
: Jason Orendorff [:jorendorff]
Mentors:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2012-02-23 09:50 PST by Mehmet Emin Akyüz
Modified: 2014-07-24 11:07 PDT (History)
5 users (show)
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---
affected
-
-
-


Attachments
an exception which shouldn't occur (174.79 KB, image/png)
2012-02-23 09:50 PST, Mehmet Emin Akyüz
no flags Details
undefined variable (224.18 KB, image/png)
2012-02-23 11:08 PST, Mehmet Emin Akyüz
no flags Details

Description Mehmet Emin Akyüz 2012-02-23 09:50:55 PST
Created attachment 600067 [details]
an exception which shouldn't occur

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
Comment 1 Gabriel Radic 2012-02-23 10:51:37 PST
The bug is reproduced on multiple machines, on both Windows XP, Mac OS 10.6 and 10.7.
Comment 2 Boris Zbarsky [:bz] (still a bit busy) 2012-02-23 11:00:24 PST
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...
Comment 3 Mehmet Emin Akyüz 2012-02-23 11:08:53 PST
Created attachment 600098 [details]
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.
Comment 4 Alice0775 White 2012-02-23 11:22:14 PST
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
Comment 5 Boris Zbarsky [:bz] (still a bit busy) 2012-02-23 11:25:35 PST
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?
Comment 6 Boris Zbarsky [:bz] (still a bit busy) 2012-02-23 11:26:54 PST
Alice0775, thanks!

Sounds like this is a type inference regression.  Brian, any ideas?
Comment 7 Alice0775 White 2012-02-23 11:40:10 PST
FYI, In local build,
Last good : 445b1e86590c
First bad : c2726640029f+c11b17509d60
Comment 8 Mehmet Emin Akyüz 2012-02-23 12:21:13 PST
(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.
Comment 9 Alex Keybl [:akeybl] 2012-02-23 12:45:50 PST
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.
Comment 10 Gabriel Radic 2012-02-24 01:57:14 PST
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.
Comment 11 Brian Hackett (:bhackett) 2012-02-24 05:33:31 PST
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.
Comment 12 Gabriel Radic 2012-02-24 06:37:30 PST
(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.
Comment 13 Alex Keybl [:akeybl] 2012-03-05 14:47:14 PST
No other dupes over the FF10 cycle, no need to track for FF11 and up.

Note You need to log in before you can comment on or make changes to this bug.