Bug #74
Calling Shoot or Boom too quickly in succession causes Internal error
Added by Anonymous over 4 years ago. Updated about 4 years ago.
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 over 4 years ago
Oops. Forgot to login again. This is me: Brian Flanagan
Updated by Baptiste Pillot over 4 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 over 4 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 about 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.