Project

General

Profile

Bug #74

Calling Shoot or Boom too quickly in succession causes Internal error

Added by Anonymous about 4 years ago. Updated about 4 years ago.

Status:
Closed
Priority:
Normal
Target version:
Start date:
01/24/2020
Due date:
% Done:

0%

Estimated time:
Affected version:

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

#1

Updated by Brian Flanagan about 4 years ago

Oops. Forgot to login again. This is me: Brian Flanagan

#2

Updated by Baptiste Pillot about 4 years ago

  • Assignee set to Francois Lionet

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.
#3

Updated by Francois Lionet about 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?

#4

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.

Also available in: Atom PDF