mozilla / shumway

Shumway is a Flash VM and runtime written in JavaScript
Apache License 2.0
3.68k stars 397 forks source link

TypeError: b is undefined #2408

Open saschanaz opened 8 years ago

saschanaz commented 8 years ago

I enabled Shumway on Nightly 2016-01-27 on NicoNico Video and I got this error on load:

14:19:23.869 Uncaught VM-internal exception during op CALLPROPVOID: TypeError: b is undefined 
 k@resource://shumway/shumway.player.js:11009:26
k@resource://shumway/shumway.player.js:11021:21
k@resource://shumway/shumway.player.js:11021:21
k@resource://shumway/shumway.player.js:11021:21
f</f.prototype.flush@resource://shumway/shumway.player.js:35278:34
O</a.prototype.axCallProperty@resource://shumway/shumway.player.js:11341:18
b.interpret@resource://shumway/shumway.player.js:9717:23
h/d@resource://shumway/shumway.player.js:7742:16
Q</c.prototype.call@resource://shumway/shumway.player.js:11845:18
f</f.callListeners@resource://shumway/shumway.player.js:24597:70
f</f.prototype.dispatchEvent@resource://shumway/shumway.player.js:24577:67
d</c.prototype._tick@resource://shumway/shumway.player.js:39359:21
setInterval handler*d</c.prototype.start@resource://shumway/shumway.player.js:39351:70
O</a.prototype.axCallProperty@resource://shumway/shumway.player.js:11341:18
b.interpret@resource://shumway/shumway.player.js:9717:23
h/d@resource://shumway/shumway.player.js:7742:16
O</a.prototype.axCallProperty@resource://shumway/shumway.player.js:11341:18
b.interpret@resource://shumway/shumway.player.js:9717:23
h/d@resource://shumway/shumway.player.js:7742:16
O</a.prototype.axCallProperty@resource://shumway/shumway.player.js:11341:18
b.interpret@resource://shumway/shumway.player.js:9717:23
h/d@resource://shumway/shumway.player.js:7742:16
O</a.prototype.axCallProperty@resource://shumway/shumway.player.js:11341:18
b.interpret@resource://shumway/shumway.player.js:9717:23
X</e.prototype.createInitializerFunction/d@resource://shumway/shumway.player.js:10673:18
b.interpret@resource://shumway/shumway.player.js:9698:19
X</e.prototype.createInitializerFunction/d@resource://shumway/shumway.player.js:10673:18
P@resource://shumway/shumway.player.js:10257:7
O</a.prototype.axConstructProperty@resource://shumway/shumway.player.js:11352:18
b.interpret@resource://shumway/shumway.player.js:9705:37
X</e.prototype.createInitializerFunction/d@resource://shumway/shumway.player.js:10673:18
P@resource://shumway/shumway.player.js:10257:7
O</a.prototype.axConstructProperty@resource://shumway/shumway.player.js:11352:18
b.interpret@resource://shumway/shumway.player.js:9705:37
h/d@resource://shumway/shumway.player.js:7742:16
Q</c.prototype.apply@resource://shumway/shumway.player.js:11848:18
O</a.prototype.axCallProperty@resource://shumway/shumway.player.js:11341:18
b.interpret@resource://shumway/shumway.player.js:9717:23
X</e.prototype.createFunction/d<@resource://shumway/shumway.player.js:10665:18
N</c.prototype.axApply@resource://shumway/shumway.player.js:11811:18
b.interpret@resource://shumway/shumway.player.js:9678:37
h/d@resource://shumway/shumway.player.js:7742:16
O</a.prototype.axCallProperty@resource://shumway/shumway.player.js:11341:18
b.interpret@resource://shumway/shumway.player.js:9717:23
h/d@resource://shumway/shumway.player.js:7742:16
O</a.prototype.axCallProperty@resource://shumway/shumway.player.js:11341:18
b.interpret@resource://shumway/shumway.player.js:9717:23
h/d@resource://shumway/shumway.player.js:7742:16
Q</c.prototype.apply@resource://shumway/shumway.player.js:11848:18
O</a.prototype.axCallProperty@resource://shumway/shumway.player.js:11341:18
b.interpret@resource://shumway/shumway.player.js:9717:23
X</e.prototype.createFunction/d<@resource://shumway/shumway.player.js:10665:18
N</c.prototype.axApply@resource://shumway/shumway.player.js:11811:18
b.interpret@resource://shumway/shumway.player.js:9678:37
h/d@resource://shumway/shumway.player.js:7742:16
O</a.prototype.axCallProperty@resource://shumway/shumway.player.js:11341:18
b.interpret@resource://shumway/shumway.player.js:9717:23
h/d@resource://shumway/shumway.player.js:7742:16
O</a.prototype.axCallProperty@resource://shumway/shumway.player.js:11341:18
b.interpret@resource://shumway/shumway.player.js:9717:23
X</e.prototype.createFunction/d<@resource://shumway/shumway.player.js:10665:18
N</c.prototype.apply@resource://shumway/shumway.player.js:11805:18
O</a.prototype.axCallProperty@resource://shumway/shumway.player.js:11341:18
b.interpret@resource://shumway/shumway.player.js:9717:23
X</e.prototype.createFunction/d<@resource://shumway/shumway.player.js:10665:18
N</c.prototype.axApply@resource://shumway/shumway.player.js:11811:18
b.interpret@resource://shumway/shumway.player.js:9678:37
h/d@resource://shumway/shumway.player.js:7742:16
O</a.prototype.axCallProperty@resource://shumway/shumway.player.js:11341:18
b.interpret@resource://shumway/shumway.player.js:9717:23
X</e.prototype.createFunction/d<@resource://shumway/shumway.player.js:10665:18
N</c.prototype.axApply@resource://shumway/shumway.player.js:11811:18
O</a.prototype.axCallProperty@resource://shumway/shumway.player.js:11341:18
b.interpret@resource://shumway/shumway.player.js:9717:23
X</e.prototype.createFunction/d<@resource://shumway/shumway.player.js:10665:18
N</c.prototype.apply@resource://shumway/shumway.player.js:11805:18
O</a.prototype.axCallProperty@resource://shumway/shumway.player.js:11341:18
b.interpret@resource://shumway/shumway.player.js:9717:23
h/d@resource://shumway/shumway.player.js:7742:16
O</a.prototype.axCallProperty@resource://shumway/shumway.player.js:11341:18
b.interpret@resource://shumway/shumway.player.js:9717:23
X</e.prototype.createFunction/d<@resource://shumway/shumway.player.js:10665:18
N</c.prototype.call@resource://shumway/shumway.player.js:11801:18
f</f.callListeners@resource://shumway/shumway.player.js:24597:70
f</f.prototype.dispatchEvent@resource://shumway/shumway.player.js:24577:67
f</f.prototype.onStreamComplete@resource://shumway/shumway.player.js:35518:15
f</f.callListeners@resource://shumway/shumway.player.js:24597:54
f</f.prototype.dispatchEvent@resource://shumway/shumway.player.js:24577:67
a</f.prototype.load/p.onclose@resource://shumway/shumway.player.js:35732:17
n</b.prototype._notifySession@resource://shumway/shumway.player.js:51788:13
n</b.prototype.init/<@resource://shumway/shumway.player.js:51778:16
Async*n</b.prototype.createSession/this._sessions[b].open@resource://shumway/shumway.player.js:51804:11
a</f.prototype.load@resource://shumway/shumway.player.js:35734:15
f</f.prototype.load@resource://shumway/shumway.player.js:35494:15
O</a.prototype.axCallProperty@resource://shumway/shumway.player.js:11341:18
b.interpret@resource://shumway/shumway.player.js:9717:23
X</e.prototype.createFunction/d<@resource://shumway/shumway.player.js:10665:18
N</c.prototype.call@resource://shumway/shumway.player.js:11801:18
f</f.callListeners@resource://shumway/shumway.player.js:24597:70
f</f.prototype.dispatchEvent@resource://shumway/shumway.player.js:24577:67
d</c.prototype._tick@resource://shumway/shumway.player.js:39369:21
setInterval handler*d</c.prototype.start@resource://shumway/shumway.player.js:39351:70
O</a.prototype.axCallProperty@resource://shumway/shumway.player.js:11341:18
b.interpret@resource://shumway/shumway.player.js:9717:23
h/d@resource://shumway/shumway.player.js:7742:16
1 shumway.player.js:9443:7
n() shumway.player.js:9443
b.interpret() shumway.player.js:10063
h/d() shumway.player.js:7742
Q</c.prototype.call() shumway.player.js:11845
f</f.callListeners() shumway.player.js:24597
f</f.prototype.dispatchEvent() shumway.player.js:24577
d</c.prototype._tick() shumway.player.js:39359
(Async: setInterval handler) d</c.prototype.start() shumway.player.js:39351
O</a.prototype.axCallProperty() shumway.player.js:11341
b.interpret() shumway.player.js:9717
h/d() shumway.player.js:7742
O</a.prototype.axCallProperty() shumway.player.js:11341
b.interpret() shumway.player.js:9717
h/d() shumway.player.js:7742
O</a.prototype.axCallProperty() shumway.player.js:11341
b.interpret() shumway.player.js:9717
h/d() shumway.player.js:7742
O</a.prototype.axCallProperty() shumway.player.js:11341
b.interpret() shumway.player.js:9717
X</e.prototype.createInitializerFunction/d() shumway.player.js:10673
b.interpret() shumway.player.js:9698
X</e.prototype.createInitializerFunction/d() shumway.player.js:10673
P() shumway.player.js:10257
O</a.prototype.axConstructProperty() shumway.player.js:11352
b.interpret() shumway.player.js:9705
X</e.prototype.createInitializerFunction/d() shumway.player.js:10673
P() shumway.player.js:10257
O</a.prototype.axConstructProperty() shumway.player.js:11352
b.interpret() shumway.player.js:9705
h/d() shumway.player.js:7742
Q</c.prototype.apply() shumway.player.js:11848
O</a.prototype.axCallProperty() shumway.player.js:11341
b.interpret() shumway.player.js:9717
X</e.prototype.createFunction/d<() shumway.player.js:10665
N</c.prototype.axApply() shumway.player.js:11811
b.interpret() shumway.player.js:9678
h/d() shumway.player.js:7742
O</a.prototype.axCallProperty() shumway.player.js:11341
b.interpret() shumway.player.js:9717
h/d() shumway.player.js:7742
O</a.prototype.axCallProperty() shumway.player.js:11341
b.interpret() shumway.player.js:9717
h/d() shumway.player.js:7742
Q</c.prototype.apply() shumway.player.js:11848
O</a.prototype.axCallProperty() shumway.player.js:11341
b.interpret() shumway.player.js:9717
X</e.prototype.createFunction/d<() shumway.player.js:10665
N</c.prototype.axApply() shumway.player.js:11811
b.interpret() shumway.player.js:9678
h/d() shumway.player.js:7742
O</a.prototype.axCallProperty() shumway.player.js:11341
b.interpret() shumway.player.js:9717
h/d() shumway.player.js:7742
O</a.prototype.axCallProperty() shumway.player.js:11341
b.interpret() shumway.player.js:9717
X</e.prototype.createFunction/d<() shumway.player.js:10665
N</c.prototype.apply() shumway.player.js:11805
O</a.prototype.axCallProperty() shumway.player.js:11341
b.interpret() shumway.player.js:9717
X</e.prototype.createFunction/d<() shumway.player.js:10665
N</c.prototype.axApply() shumway.player.js:11811
b.interpret() shumway.player.js:9678
h/d() shumway.player.js:7742
O</a.prototype.axCallProperty() shumway.player.js:11341
b.interpret() shumway.player.js:9717
X</e.prototype.createFunction/d<() shumway.player.js:10665
N</c.prototype.axApply() shumway.player.js:11811
O</a.prototype.axCallProperty() shumway.player.js:11341
b.interpret() shumway.player.js:9717
X</e.prototype.createFunction/d<() shumway.player.js:10665
N</c.prototype.apply() shumway.player.js:11805
O</a.prototype.axCallProperty() shumway.player.js:11341
b.interpret() shumway.player.js:9717
h/d() shumway.player.js:7742
O</a.prototype.axCallProperty() shumway.player.js:11341
b.interpret() shumway.player.js:9717
X</e.prototype.createFunction/d<() shumway.player.js:10665
N</c.prototype.call() shumway.player.js:11801
f</f.callListeners() shumway.player.js:24597
f</f.prototype.dispatchEvent() shumway.player.js:24577
f</f.prototype.onStreamComplete() shumway.player.js:35518
f</f.callListeners() shumway.player.js:24597
f</f.prototype.dispatchEvent() shumway.player.js:24577
a</f.prototype.load/p.onclose() shumway.player.js:35732
n</b.prototype._notifySession() shumway.player.js:51788
n</b.prototype.init/<() shumway.player.js:51778
(Async: Async) n</b.prototype.createSession/this._sessions[b].open() shumway.player.js:51804
a</f.prototype.load() shumway.player.js:35734
f</f.prototype.load() shumway.player.js:35494
O</a.prototype.axCallProperty() shumway.player.js:11341
b.interpret() shumway.player.js:9717
X</e.prototype.createFunction/d<() shumway.player.js:10665
N</c.prototype.call() shumway.player.js:11801
f</f.callListeners() shumway.player.js:24597
f</f.prototype.dispatchEvent() shumway.player.js:24577
d</c.prototype._tick() shumway.player.js:39369
(Async: setInterval handler) d</c.prototype.start() shumway.player.js:39351
O</a.prototype.axCallProperty() shumway.player.js:11341
b.interpret() shumway.player.js:9717
h/d() shumway.player.js:7742
O</a.prototype.axCallProperty() shumway.player.js:11341
b.interpret() shumway.player.js:9717
X</e.prototype.createInitializerFunction/d() shumway.player.js:10673
P() shumway.player.js:10257
O</a.prototype.axConstructProperty() shumway.player.js:11352
b.interpret() shumway.player.js:9705
h/d() shumway.player.js:7742

b was an empty array there with no value property.

saschanaz commented 8 years ago

It seems this function transformASValueToJS is related: https://github.com/mozilla/shumway/blob/e2333c04071d609c4b7d4825f79f023177e61535/src/avm2/nat.ts#L2185