Bug #74
closedCalling Shoot or Boom too quickly in succession causes Internal error
0%
Description
If Shoot or Boom is called a second time too quickly, it will cause an Internal error.
In this example, the first click works, but successive clicks cause an Internal error.
Repeat
If Mouse Key = 1 Then Shoot
Until Mouse Key = 2
This can be corrected by putting in a sufficient delay:
Repeat
If Mouse Key = 1 Then Shoot
Wait Vbl
Until Mouse Key = 2
Updated by Brian Flanagan almost 5 years ago
Oops. Forgot to login again. This is me: Brian Flanagan
Updated by Baptiste Pillot almost 5 years ago
- Assignee set to Francois Lionet
- source : https://www.amos2.fr/ide/Amos2/Ide/Program/446
- run (Chrome only works) : https://www.amos2.fr/run/tickleman/74/
- left-click, wait one or two seconds (or don't wait), then click again
- result : Internal error at line: 2, column: 27.
Console on first click (sounds fired well) :
howler.js:1484 Uncaught RangeError: Maximum call stack size exceeded
at Object.action (howler.js:1484)
at Howl._loadQueue (howler.js:1893)
at Howl._loadQueue (howler.js:1888)
at Howl._emit (howler.js:1868)
at Howl.volume (howler.js:1242)
at Object.action (howler.js:1210)
at Howl._loadQueue (howler.js:1893)
at Howl._loadQueue (howler.js:1888)
at Howl._emit (howler.js:1868)
at seekAndEmit (howler.js:1613)
action @ howler.js:1484
_loadQueue @ howler.js:1893
_loadQueue @ howler.js:1888
_emit @ howler.js:1868
volume @ howler.js:1242
action @ howler.js:1210
_loadQueue @ howler.js:1893
_loadQueue @ howler.js:1888
_emit @ howler.js:1868
seekAndEmit @ howler.js:1613
seek @ howler.js:1632
action @ howler.js:1583
_loadQueue @ howler.js:1893
_loadQueue @ howler.js:1888
_emit @ howler.js:1868
rate @ howler.js:1530
action @ howler.js:1485
_loadQueue @ howler.js:1893
_loadQueue @ howler.js:1888
_emit @ howler.js:1868
volume @ howler.js:1242
action @ howler.js:1210
_loadQueue @ howler.js:1893
_loadQueue @ howler.js:1888
_emit @ howler.js:1868
seekAndEmit @ howler.js:1613
seek @ howler.js:1632
action @ howler.js:1583
_loadQueue @ howler.js:1893
_loadQueue @ howler.js:1888
_emit @ howler.js:1868
rate @ howler.js:1530
action @ howler.js:1485
_loadQueue @ howler.js:1893
_loadQueue @ howler.js:1888
_emit @ howler.js:1868
volume @ howler.js:1242
action @ howler.js:1210
_loadQueue @ howler.js:1893
_loadQueue @ howler.js:1888
_emit @ howler.js:1868
seekAndEmit @ howler.js:1613
seek @ howler.js:1632
action @ howler.js:1583
_loadQueue @ howler.js:1893
_loadQueue @ howler.js:1888
_emit @ howler.js:1868
rate @ howler.js:1530
action @ howler.js:1485
_loadQueue @ howler.js:1893
_loadQueue @ howler.js:1888
_emit @ howler.js:1868
volume @ howler.js:1242
action @ howler.js:1210
_loadQueue @ howler.js:1893
_loadQueue @ howler.js:1888
_emit @ howler.js:1868
seekAndEmit @ howler.js:1613
seek @ howler.js:1632
action @ howler.js:1583
_loadQueue @ howler.js:1893
_loadQueue @ howler.js:1888
_emit @ howler.js:1868
rate @ howler.js:1530
action @ howler.js:1485
_loadQueue @ howler.js:1893
_loadQueue @ howler.js:1888
_emit @ howler.js:1868
volume @ howler.js:1242
action @ howler.js:1210
_loadQueue @ howler.js:1893
_loadQueue @ howler.js:1888
_emit @ howler.js:1868
seekAndEmit @ howler.js:1613
seek @ howler.js:1632
action @ howler.js:1583
_loadQueue @ howler.js:1893
_loadQueue @ howler.js:1888
_emit @ howler.js:1868
rate @ howler.js:1530
action @ howler.js:1485
_loadQueue @ howler.js:1893
_loadQueue @ howler.js:1888
_emit @ howler.js:1868
volume @ howler.js:1242
action @ howler.js:1210
_loadQueue @ howler.js:1893
_loadQueue @ howler.js:1888
_emit @ howler.js:1868
seekAndEmit @ howler.js:1613
seek @ howler.js:1632
action @ howler.js:1583
_loadQueue @ howler.js:1893
_loadQueue @ howler.js:1888
_emit @ howler.js:1868
rate @ howler.js:1530
action @ howler.js:1485
_loadQueue @ howler.js:1893
_loadQueue @ howler.js:1888
_emit @ howler.js:1868
volume @ howler.js:1242
action @ howler.js:1210
_loadQueue @ howler.js:1893
_loadQueue @ howler.js:1888
_emit @ howler.js:1868
seekAndEmit @ howler.js:1613
seek @ howler.js:1632
action @ howler.js:1583
_loadQueue @ howler.js:1893
_loadQueue @ howler.js:1888
_emit @ howler.js:1868
rate @ howler.js:1530
action @ howler.js:1485
_loadQueue @ howler.js:1893
_loadQueue @ howler.js:1888
_emit @ howler.js:1868
volume @ howler.js:1242
action @ howler.js:1210
_loadQueue @ howler.js:1893
_loadQueue @ howler.js:1888
_emit @ howler.js:1868
seekAndEmit @ howler.js:1613
seek @ howler.js:1632
action @ howler.js:1583
_loadQueue @ howler.js:1893
_loadQueue @ howler.js:1888
_emit @ howler.js:1868
rate @ howler.js:1530
action @ howler.js:1485
_loadQueue @ howler.js:1893
_loadQueue @ howler.js:1888
_emit @ howler.js:1868
volume @ howler.js:1242
action @ howler.js:1210
_loadQueue @ howler.js:1893
_loadQueue @ howler.js:1888
_emit @ howler.js:1868
seekAndEmit @ howler.js:1613
seek @ howler.js:1632
action @ howler.js:1583
_loadQueue @ howler.js:1893
_loadQueue @ howler.js:1888
_emit @ howler.js:1868
rate @ howler.js:1530
action @ howler.js:1485
_loadQueue @ howler.js:1893
_loadQueue @ howler.js:1888
_emit @ howler.js:1868
volume @ howler.js:1242
action @ howler.js:1210
_loadQueue @ howler.js:1893
_loadQueue @ howler.js:1888
_emit @ howler.js:1868
seekAndEmit @ howler.js:1613
seek @ howler.js:1632
action @ howler.js:1583
_loadQueue @ howler.js:1893
_loadQueue @ howler.js:1888
_emit @ howler.js:1868
rate @ howler.js:1530
action @ howler.js:1485
_loadQueue @ howler.js:1893
_loadQueue @ howler.js:1888
_emit @ howler.js:1868
volume @ howler.js:1242
action @ howler.js:1210
_loadQueue @ howler.js:1893
_loadQueue @ howler.js:1888
_emit @ howler.js:1868
seekAndEmit @ howler.js:1613
seek @ howler.js:1632
action @ howler.js:1583
_loadQueue @ howler.js:1893
_loadQueue @ howler.js:1888
_emit @ howler.js:1868
rate @ howler.js:1530
action @ howler.js:1485
_loadQueue @ howler.js:1893
_loadQueue @ howler.js:1888
_emit @ howler.js:1868
volume @ howler.js:1242
action @ howler.js:1210
_loadQueue @ howler.js:1893
_loadQueue @ howler.js:1888
_emit @ howler.js:1868
seekAndEmit @ howler.js:1613
seek @ howler.js:1632
action @ howler.js:1583
_loadQueue @ howler.js:1893
_loadQueue @ howler.js:1888
_emit @ howler.js:1868
rate @ howler.js:1530
action @ howler.js:1485
_loadQueue @ howler.js:1893
_loadQueue @ howler.js:1888
_emit @ howler.js:1868
volume @ howler.js:1242
action @ howler.js:1210
_loadQueue @ howler.js:1893
_loadQueue @ howler.js:1888
setTimeout (async)
playWebAudio @ howler.js:848
(anonymous) @ howler.js:1857
setTimeout (async)
_emit @ howler.js:1856
(anonymous) @ howler.js:502
Promise.then (async)
_autoResume @ howler.js:497
play @ howler.js:790
(anonymous) @ v1_0_sounds.js:118
Banks.getSound @ banks.js:578
Voice.playSound @ v1_0_sounds.js:109
callVoices @ v1_0_sounds.js:67
Application.blocks.<computed> @ application.js:46
doUpdate @ aoz.js:246
requestAnimationFrame (async)
doUpdate @ aoz.js:605
requestAnimationFrame (async)
doUpdate @ aoz.js:605
requestAnimationFrame (async)
doUpdate @ aoz.js:605
requestAnimationFrame (async)
doUpdate @ aoz.js:605
requestAnimationFrame (async)
doUpdate @ aoz.js:605
requestAnimationFrame (async)
doUpdate @ aoz.js:605
requestAnimationFrame (async)
doUpdate @ aoz.js:605
requestAnimationFrame (async)
doUpdate @ aoz.js:605
requestAnimationFrame (async)
doUpdate @ aoz.js:605
requestAnimationFrame (async)
doUpdate @ aoz.js:605
requestAnimationFrame (async)
doUpdate @ aoz.js:605
requestAnimationFrame (async)
doUpdate @ aoz.js:605
requestAnimationFrame (async)
doUpdate @ aoz.js:605
requestAnimationFrame (async)
doUpdate @ aoz.js:605
requestAnimationFrame (async)
doUpdate @ aoz.js:605
requestAnimationFrame (async)
doUpdate @ aoz.js:605
requestAnimationFrame (async)
doUpdate @ aoz.js:605
requestAnimationFrame (async)
doUpdate @ aoz.js:605
requestAnimationFrame (async)
doUpdate @ aoz.js:605
requestAnimationFrame (async)
doUpdate @ aoz.js:605
requestAnimationFrame (async)
doUpdate @ aoz.js:605
requestAnimationFrame (async)
doUpdate @ aoz.js:605
requestAnimationFrame (async)
doUpdate @ aoz.js:605
requestAnimationFrame (async)
doUpdate @ aoz.js:605
requestAnimationFrame (async)
doUpdate @ aoz.js:605
requestAnimationFrame (async)
doUpdate @ aoz.js:605
requestAnimationFrame (async)
doUpdate @ aoz.js:605
requestAnimationFrame (async)
doUpdate @ aoz.js:605
requestAnimationFrame (async)
doUpdate @ aoz.js:605
Show 170 more frames
howler.js:1582 Uncaught RangeError: Maximum call stack size exceeded
at Object.action (howler.js:1582)
at Howl._loadQueue (howler.js:1893)
at Howl._loadQueue (howler.js:1888)
at Howl._emit (howler.js:1868)
at Howl.rate (howler.js:1530)
at Object.action (howler.js:1485)
at Howl._loadQueue (howler.js:1893)
at Howl._loadQueue (howler.js:1888)
at Howl._emit (howler.js:1868)
at Howl.volume (howler.js:1242)
action @ howler.js:1582
_loadQueue @ howler.js:1893
_loadQueue @ howler.js:1888
_emit @ howler.js:1868
rate @ howler.js:1530
action @ howler.js:1485
_loadQueue @ howler.js:1893
_loadQueue @ howler.js:1888
_emit @ howler.js:1868
volume @ howler.js:1242
action @ howler.js:1210
_loadQueue @ howler.js:1893
_loadQueue @ howler.js:1888
_emit @ howler.js:1868
seekAndEmit @ howler.js:1613
seek @ howler.js:1632
action @ howler.js:1583
_loadQueue @ howler.js:1893
_loadQueue @ howler.js:1888
_emit @ howler.js:1868
rate @ howler.js:1530
action @ howler.js:1485
_loadQueue @ howler.js:1893
_loadQueue @ howler.js:1888
_emit @ howler.js:1868
volume @ howler.js:1242
action @ howler.js:1210
_loadQueue @ howler.js:1893
_loadQueue @ howler.js:1888
_emit @ howler.js:1868
seekAndEmit @ howler.js:1613
seek @ howler.js:1632
action @ howler.js:1583
_loadQueue @ howler.js:1893
_loadQueue @ howler.js:1888
_emit @ howler.js:1868
rate @ howler.js:1530
action @ howler.js:1485
_loadQueue @ howler.js:1893
_loadQueue @ howler.js:1888
_emit @ howler.js:1868
volume @ howler.js:1242
action @ howler.js:1210
_loadQueue @ howler.js:1893
_loadQueue @ howler.js:1888
_emit @ howler.js:1868
seekAndEmit @ howler.js:1613
seek @ howler.js:1632
action @ howler.js:1583
_loadQueue @ howler.js:1893
_loadQueue @ howler.js:1888
_emit @ howler.js:1868
rate @ howler.js:1530
action @ howler.js:1485
_loadQueue @ howler.js:1893
_loadQueue @ howler.js:1888
_emit @ howler.js:1868
volume @ howler.js:1242
action @ howler.js:1210
_loadQueue @ howler.js:1893
_loadQueue @ howler.js:1888
_emit @ howler.js:1868
seekAndEmit @ howler.js:1613
seek @ howler.js:1632
action @ howler.js:1583
_loadQueue @ howler.js:1893
_loadQueue @ howler.js:1888
_emit @ howler.js:1868
rate @ howler.js:1530
action @ howler.js:1485
_loadQueue @ howler.js:1893
_loadQueue @ howler.js:1888
_emit @ howler.js:1868
volume @ howler.js:1242
action @ howler.js:1210
_loadQueue @ howler.js:1893
_loadQueue @ howler.js:1888
_emit @ howler.js:1868
seekAndEmit @ howler.js:1613
seek @ howler.js:1632
action @ howler.js:1583
_loadQueue @ howler.js:1893
_loadQueue @ howler.js:1888
_emit @ howler.js:1868
rate @ howler.js:1530
action @ howler.js:1485
_loadQueue @ howler.js:1893
_loadQueue @ howler.js:1888
_emit @ howler.js:1868
volume @ howler.js:1242
action @ howler.js:1210
_loadQueue @ howler.js:1893
_loadQueue @ howler.js:1888
_emit @ howler.js:1868
seekAndEmit @ howler.js:1613
seek @ howler.js:1632
action @ howler.js:1583
_loadQueue @ howler.js:1893
_loadQueue @ howler.js:1888
_emit @ howler.js:1868
rate @ howler.js:1530
action @ howler.js:1485
_loadQueue @ howler.js:1893
_loadQueue @ howler.js:1888
_emit @ howler.js:1868
volume @ howler.js:1242
action @ howler.js:1210
_loadQueue @ howler.js:1893
_loadQueue @ howler.js:1888
_emit @ howler.js:1868
seekAndEmit @ howler.js:1613
seek @ howler.js:1632
action @ howler.js:1583
_loadQueue @ howler.js:1893
_loadQueue @ howler.js:1888
_emit @ howler.js:1868
rate @ howler.js:1530
action @ howler.js:1485
_loadQueue @ howler.js:1893
_loadQueue @ howler.js:1888
_emit @ howler.js:1868
volume @ howler.js:1242
action @ howler.js:1210
_loadQueue @ howler.js:1893
_loadQueue @ howler.js:1888
_emit @ howler.js:1868
seekAndEmit @ howler.js:1613
seek @ howler.js:1632
action @ howler.js:1583
_loadQueue @ howler.js:1893
_loadQueue @ howler.js:1888
_emit @ howler.js:1868
rate @ howler.js:1530
action @ howler.js:1485
_loadQueue @ howler.js:1893
_loadQueue @ howler.js:1888
_emit @ howler.js:1868
volume @ howler.js:1242
action @ howler.js:1210
_loadQueue @ howler.js:1893
_loadQueue @ howler.js:1888
_emit @ howler.js:1868
seekAndEmit @ howler.js:1613
seek @ howler.js:1632
action @ howler.js:1583
_loadQueue @ howler.js:1893
_loadQueue @ howler.js:1888
_emit @ howler.js:1868
rate @ howler.js:1530
action @ howler.js:1485
_loadQueue @ howler.js:1893
_loadQueue @ howler.js:1888
_emit @ howler.js:1868
volume @ howler.js:1242
action @ howler.js:1210
_loadQueue @ howler.js:1893
_loadQueue @ howler.js:1888
_emit @ howler.js:1868
seekAndEmit @ howler.js:1613
seek @ howler.js:1632
action @ howler.js:1583
_loadQueue @ howler.js:1893
_loadQueue @ howler.js:1888
_emit @ howler.js:1868
rate @ howler.js:1530
action @ howler.js:1485
_loadQueue @ howler.js:1893
_loadQueue @ howler.js:1888
_emit @ howler.js:1868
volume @ howler.js:1242
action @ howler.js:1210
_loadQueue @ howler.js:1893
_loadQueue @ howler.js:1888
_emit @ howler.js:1868
seekAndEmit @ howler.js:1613
seek @ howler.js:1632
action @ howler.js:1583
_loadQueue @ howler.js:1893
_loadQueue @ howler.js:1888
_emit @ howler.js:1868
rate @ howler.js:1530
action @ howler.js:1485
_loadQueue @ howler.js:1893
_loadQueue @ howler.js:1888
_emit @ howler.js:1868
volume @ howler.js:1242
action @ howler.js:1210
_loadQueue @ howler.js:1893
_loadQueue @ howler.js:1888
_emit @ howler.js:1868
seekAndEmit @ howler.js:1613
seek @ howler.js:1632
action @ howler.js:1583
_loadQueue @ howler.js:1893
_loadQueue @ howler.js:1888
_emit @ howler.js:1868
rate @ howler.js:1530
action @ howler.js:1485
_loadQueue @ howler.js:1893
_loadQueue @ howler.js:1888
setTimeout (async)
playWebAudio @ howler.js:848
(anonymous) @ howler.js:1857
setTimeout (async)
_emit @ howler.js:1856
(anonymous) @ howler.js:502
Promise.then (async)
_autoResume @ howler.js:497
play @ howler.js:790
(anonymous) @ v1_0_sounds.js:118
Banks.getSound @ banks.js:578
Voice.playSound @ v1_0_sounds.js:109
callVoices @ v1_0_sounds.js:67
Application.blocks.<computed> @ application.js:46
doUpdate @ aoz.js:246
requestAnimationFrame (async)
doUpdate @ aoz.js:605
requestAnimationFrame (async)
doUpdate @ aoz.js:605
requestAnimationFrame (async)
doUpdate @ aoz.js:605
requestAnimationFrame (async)
doUpdate @ aoz.js:605
requestAnimationFrame (async)
doUpdate @ aoz.js:605
requestAnimationFrame (async)
doUpdate @ aoz.js:605
requestAnimationFrame (async)
doUpdate @ aoz.js:605
requestAnimationFrame (async)
doUpdate @ aoz.js:605
requestAnimationFrame (async)
doUpdate @ aoz.js:605
requestAnimationFrame (async)
doUpdate @ aoz.js:605
requestAnimationFrame (async)
doUpdate @ aoz.js:605
requestAnimationFrame (async)
doUpdate @ aoz.js:605
requestAnimationFrame (async)
doUpdate @ aoz.js:605
requestAnimationFrame (async)
doUpdate @ aoz.js:605
requestAnimationFrame (async)
doUpdate @ aoz.js:605
requestAnimationFrame (async)
doUpdate @ aoz.js:605
requestAnimationFrame (async)
doUpdate @ aoz.js:605
requestAnimationFrame (async)
doUpdate @ aoz.js:605
requestAnimationFrame (async)
doUpdate @ aoz.js:605
requestAnimationFrame (async)
doUpdate @ aoz.js:605
requestAnimationFrame (async)
doUpdate @ aoz.js:605
requestAnimationFrame (async)
doUpdate @ aoz.js:605
requestAnimationFrame (async)
doUpdate @ aoz.js:605
requestAnimationFrame (async)
doUpdate @ aoz.js:605
requestAnimationFrame (async)
doUpdate @ aoz.js:605
requestAnimationFrame (async)
doUpdate @ aoz.js:605
requestAnimationFrame (async)
doUpdate @ aoz.js:605
requestAnimationFrame (async)
doUpdate @ aoz.js:605
requestAnimationFrame (async)
doUpdate @ aoz.js:605
Show 170 more frames
2howler.js:1887 Uncaught RangeError: Maximum call stack size exceeded
at Array.shift (<anonymous>)
at Howl._loadQueue (howler.js:1887)
at Howl._emit (howler.js:1868)
at seekAndEmit (howler.js:1613)
at Howl.seek (howler.js:1632)
at Object.action (howler.js:1583)
at Howl._loadQueue (howler.js:1893)
at Howl._loadQueue (howler.js:1888)
at Howl._emit (howler.js:1868)
at Howl.rate (howler.js:1530)
Console on second click (crash) :
Maximum call stack size exceeded
aoz.js:257 RangeError: Maximum call stack size exceeded
at Howl.seek (howler.js:1)
at Howl.rate (howler.js:1520)
at Object.action (howler.js:1485)
at Howl._loadQueue (howler.js:1893)
at Howl._loadQueue (howler.js:1888)
at Howl._emit (howler.js:1868)
at Howl.volume (howler.js:1242)
at Object.action (howler.js:1210)
at Howl._loadQueue (howler.js:1893)
at Howl._loadQueue (howler.js:1888)
aoz.js:588 Internal error at line: 2, column: 27.
aoz.js:590 Program ended successfully.
Updated by Francois Lionet almost 5 years ago
- Status changed from New to Resolved
- Target version set to 0.9.4
Cannot get it to crash on my machine. So maybe it is corrected in 9.4... Could you check?
Updated by Brian Flanagan over 4 years ago
- Status changed from Resolved to Closed
Although it isn't causing an Internal Error any more, it is still failing - just differently. Instead of crashing, the AOZ code just locks up, continually triggering the sound, but never checking the Mouse Key to see that the mouse button been released, or that the right button has been clicked.
I'm opening a new issue for the new, but related error.