munificent / hauberk

A web-based roguelike written in Dart.
http://munificent.github.io/hauberk/
Other
2k stars 200 forks source link

game keeps crashing #35

Closed MrPickles101 closed 5 years ago

MrPickles101 commented 6 years ago

I've been unable to play the game because it has been crashing often. When it crashes the game freezes, I can access a few menus, but I can't do anything with them. Here is the most recent error:

main.dart.js:1360 Uncaught Error: TypeError: 145.45454545454544: type 'jh' is not a subtype of type 'int' at Object.i (main.dart.js:1172) at Object.r (main.dart.js:1360) at a0.cU (main.dart.js:7861) at a0.f6 (main.dart.js:7869) at iy.I (main.dart.js:7491) at nP.ba (main.dart.js:7954) at j6.ba (main.dart.js:10585) at cJ.cV (main.dart.js:12568) at cJ.dart.cJ.mF (main.dart.js:12591) at Object.eval (eval at iH (main.dart.js:1304), :3:35)

munificent commented 6 years ago

Can you be a little more specific about when it crashes? What screen are you on and what are you trying to do when it dies?

MrPickles101 commented 6 years ago

It seems to crash most often as I try to attack an enemy. but I think it has crashed while trying to move, too.

munificent commented 6 years ago

Interesting. Did this start recently, or has it been going on for a while?

mbystrom commented 6 years ago

I started a new hero (in the munificent.github.io/hauberk version), and consistently the game froze before I could complete the first level. This effect seems to happen whenever I am in combat.

ZufengW commented 6 years ago

I have the same problem as @nbystrom. Same stack trace as @MrPickles101. I think every time it happened I was standing next to an enemy and trying to attack it.

main.dart.js:1360 Uncaught Error: TypeError: 200.88888888888889: type 'jh' is not a subtype of type 'int'
    at Object.i (main.dart.js:1172)
    at Object.r (main.dart.js:1360)
    at a0.cU (main.dart.js:7861)
    at a0.f6 (main.dart.js:7869)
    at iy.I (main.dart.js:7491)
    at nP.ba (main.dart.js:7954)
    at j6.ba (main.dart.js:10585)
    at cJ.cV (main.dart.js:12568)
    at cJ.dart.cJ.mF (main.dart.js:12591)
    at Object.eval (eval at iH (main.dart.js:1304), <anonymous>:3:35)
munificent commented 6 years ago

I think every time it happened I was standing next to an enemy and trying to attack it.

That's helpful, thanks. When I get a chance, I'll try to look into it. The minified dart2js stack trace doesn't give me much to go on, but hopefully I can repro it with the dev compiler.

ZufengW commented 6 years ago

Yeah, minified (which I got from munificent.github.io/hauberk) is incomprehensible. So I cloned the repo and installed dart dev channel release. pub serve from the readme didn't work, so I followed this migration guide. When running with webdev serve I could play the app, and I didn't encounter the crash at all. (and I completed 10+ levels)

munificent commented 6 years ago

Interesting. It might be that the bug was fixed since the last time I deployed the build, but I don't think that's likely. It may be that it's a compiler bug in dart2js (though I hope not). Or it may be that your character has some weird data in it that manifests the bug but not when you play with a new character.

mbystrom commented 6 years ago

I reproed on two brand-new characters on two different machines.

munificent commented 6 years ago

OK, I deployed a new build that doesn't minify identifiers. If you can reproduce the issue can give me a stack trace, that might help.

mbystrom commented 6 years ago

I just got the bug again, after many rounds of the game not crashing.

The error I got looked like this:


Uncaught Error: RangeError (index): Index out of range: index must not be negative: -80
    at Object.wrapException (main.dart.js:2534)
    at Object.ioore (main.dart.js:2505)
    at _SoundPathfinder.search$0 (main.dart.js:20752)
    at Sound.volumeBetween$2 (main.dart.js:20792)
    at HowlAction.onPerform$0 (main.dart.js:10749)
    at Game.update$0 (main.dart.js:16936)
    at GameScreen.update$0 (main.dart.js:22322)
    at UserInterface.refresh$0 (main.dart.js:25924)
    at UserInterface.dart.UserInterface._user_interface$_tick$1 (main.dart.js:25964)
    at Object.eval (eval at Closure_forwardCallTo (main.dart.js:2860), <anonymous>:3:39)
munificent commented 6 years ago

OK, I fixed a couple of things that could cause this and redeployed the game. Let me know if it still happens.

mbystrom commented 6 years ago

I encountered the crash again today, with what seems to be the same stack trace, other than the index that was called:

Uncaught Error: RangeError (index): Index out of range: index should be less than 4800: 4841 at Object.wrapException (main.dart.js:2545) at Object.ioore (main.dart.js:2516) at _SoundPathfinder.search$0 (main.dart.js:21525) at Sound.volumeBetween$2 (main.dart.js:21557) at HowlAction.onPerform$0 (main.dart.js:11004) at Game.update$0 (main.dart.js:17548) at GameScreen.update$0 (main.dart.js:23098) at UserInterface.refresh$0 (main.dart.js:27396) at UserInterface.dart.UserInterface._user_interface$_tick$1 (main.dart.js:27436) at Object.eval (eval at Closure_forwardCallTo (main.dart.js:2871), :3:39)

munificent commented 6 years ago

OK, I landed another fix that should (I hope) finally fix this. I haven't pushed a new build yet, but when I do I'll close this and let me know if you see it happen again.

En810 commented 5 years ago

Starting around the middle of yesterday... the browser version of the game fails to load.

"ERROR Service Unavailable

The requested service is unavailable. Please try again later. "

(fixed)

munificent commented 5 years ago

That was probably the GitHub outage.