Closed Bug 1137012 Opened 10 years ago Closed 9 years ago

Stuck script dialog on a video player SWF

Categories

(Firefox Graveyard :: Shumway, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED INCOMPLETE

People

(Reporter: bugs, Assigned: till)

References

()

Details

+++ Initially filed via the problem reporting functionality in Shumway +++ Please add any further information that you deem helpful here: http://blog.sfgate.com/stew/2015/02/25/fake-monks-are-using-the-bracelet-scam-in-san-francisco/ Video player on this page generates stuck script dialog. ---------------------- Technical Information: Firefox version: 39.0a1 (20150225030226) Shumway version: 0.10.182 (0195a96) extension
Hmm, yes. We're landing in an iloop in a function that looks like this: function Random$BgnextBytes_2519085536 (A, B) { var v15,v14,v17,v23,v42,v49,$L; var $F=$$F1476,$C=$$F1476.constants; v15=new Scope($C[0],this,false); v14=B|0; v17=v14; while(true){{ v23=1-(v17|0); if(v17){{ v42=v15.object.m$BgnextByte(); v49=A.m$BgwriteByte(v42); v17=v23; $L=1; continue;}}else{{ $L=0; break;}}}}return undefined; } Much of this is irrelevant, so here's a cleaned-up version: var v17 = 16; var v23; while (true) { v23 = 1 - v17; if (v17) { v17=v23; continue; } else break; } For comparison, here's the bytecode for the function: function nextBytes(flash.utils::ByteArray,int):void /* disp_id=0 method_id=4304 nameIndex = 3794 */ { // local_count=3 max_scope=1 max_stack=2 code_len=27 // method position=362463 code position=725318 0 getlocal0 1 pushscope 2 jump L1 L2: 6 label 7 getlocal1 8 findpropstrict nextByte //nameIndex = 3795 11 callproperty nextByte (0) //nameIndex = 3795 15 callpropvoid writeByte (1) //nameIndex = 11479 L1: 19 getlocal2 20 declocal_i 2 22 iftrue L2 26 returnvoid } The gist is that we do `1 - v17` where we should do `v17 - 1`. How this can happen, I don't know. Pretty bad, though. Still, probably nothing we should work on fixing, seeing as how we're about to remove the compiler that creates this mess. I don't think the baseline compiler will have the same issue.
Shumway is miscompiling a script, but we plan to remove this compiler before shipping.
Blocks: shumway-m3
Marking for later verification.
Blocks: shumway-m4
No longer blocks: shumway-m3
Assignee: nobody → schneider
Tobias says the originally reported error is no longer a problem, but there are now other problems.
`var type = parentScope.getScopeProperty("_-W", ..)` is `undefined` in src/avm2/int.ts:147, which leads to a following `type.axCoerce(..)` throwing an exception.
Assignee: schneider → till
Product: Firefox → Firefox Graveyard
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → INCOMPLETE
You need to log in before you can comment on or make changes to this bug.