Comments (16)
I fixed a bug that happened under these rather specific conditions:
- play a game that has a winner (indicated by a popup about one side giving up)
- play at least another turn
- exit the game to the main menu
- start a new game in which the player is not the first to do their turn
This would cause the game to crash when the first (human) player turn started because of some non-cleared information from the previous game. This is what I could find out from @FabulousOne's log but very likely also what happened to @awb95.
@d-albrecht I need logs to analyze your crash - either from the console or logcat. I'm working on making it easier to get the logs in crash situations. It will be included in the next non-bugfix release.
from feudaltactics.
Thanks for reporting! I couldn't reproduce it so far but I will try to have a closer look.
from feudaltactics.
Hey,
I'm just hijacking this to report my own game crash (rather than re-opening my own crash report), because the game just crashed for me as I was re-generating a new random level.
I was on the level select screen and clicked the die a few times to find a playable/win-able starting position, and at one point, the game just closed/crashed.
from feudaltactics.
I have the same crash problems. I tried to catch logs. Could you look at them and tell me if they are helpful? If not I'll try again.
Thanks for this nice little addicting game, @Sesu8642 !
feudal-tactics-logs-2023-02-25-14-16-09.zip
from feudaltactics.
Thanks for the logs, @FabulousOne.
There could be useful information in the logcat but the snipped you included doesn't unfortunately. I suspect the error looks something like this:
02-25 15:46:39.522 18950 18976 E AndroidRuntime: FATAL EXCEPTION: GLThread 952
02-25 15:46:39.522 18950 18976 E AndroidRuntime: Process: de.sesu8642.feudaltactics, PID: 18950
02-25 15:46:39.522 18950 18976 E AndroidRuntime: java.lang.RuntimeException: TEST
02-25 15:46:39.522 18950 18976 E AndroidRuntime: at de.sesu8642.feudaltactics.FeudalTactics.create(FeudalTactics.java:34)
02-25 15:46:39.522 18950 18976 E AndroidRuntime: at com.badlogic.gdx.backends.android.AndroidGraphics.onSurfaceChanged(AndroidGraphics.java:281)
02-25 15:46:39.522 18950 18976 E AndroidRuntime: at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1557)
02-25 15:46:39.522 18950 18976 E AndroidRuntime: at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1272)
I am not sure though. I need to put in some more work and make it easy for users to get debug information in crash situations.
from feudaltactics.
from feudaltactics.
@Sesu8642 check that, please:
feudal-tactics-logs-2023-02-26-18-24-44.zip
from feudaltactics.
Thanks, @FabulousOne. This is exactly what I needed.
from feudaltactics.
😅
from feudaltactics.
[de.sesu8642.feudaltactics.backend.ingame.GameController] generating a new game state with bot intelligence LEVEL_3 and MapParameters [humanPlayerNo=1, botPlayerNo=5, seed=1678650312305, landMass=150, density=0.0]
[de.sesu8642.feudaltactics.backend.ingame.GameController] generating a new game state with bot intelligence LEVEL_3 and MapParameters [humanPlayerNo=1, botPlayerNo=5, seed=1678650318025, landMass=150, density=0.0]
[de.sesu8642.feudaltactics.backend.ingame.botai.BotAi] the game crashed because of an unexpected exception
java.lang.NullPointerException: Cannot invoke "de.sesu8642.feudaltactics.backend.gamestate.Player.getType()" because the return value of "de.sesu8642.feudaltactics.backend.gamestate.GameState.getWinner()" is null
at de.sesu8642.feudaltactics.frontend.ui.screens.IngameScreen.lambda$handleGameStateChange$4(IngameScreen.java:246)
at de.sesu8642.feudaltactics.frontend.ui.screens.IngameScreen.render(IngameScreen.java:386)
at com.badlogic.gdx.Game.render(Game.java:48)
at com.badlogic.gdx.backends.lwjgl3.Lwjgl3Window.update(Lwjgl3Window.java:387)
at com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application.loop(Lwjgl3Application.java:192)
at com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application.<init>(Lwjgl3Application.java:166)
at de.sesu8642.feudaltactics.desktop.DesktopLauncher.main(DesktopLauncher.java:22)
Before I read your request for a log, it crashed several times, after I had read it, it worked flawlessly for quite some time! But finally it crashed again. This was with commit: 7103128b8476f2cd80bb1e4a12a493356c716f9b
As I described, on the level selection screen, by clicking the dice (until it crashes).
from feudaltactics.
Thanks, @d-albrecht. This looks basically the same as the other stack trace. Looks like re-generating the map can also cause the crash. It should be fixed in version 1.1.3.
from feudaltactics.
I just pulled the new commits and switched to the latest version.
And then this happened:
AI: Hard
Size: Medium
Density: Medium
Seed: 1678814257297
Crash (reproducible) on first turn. I guess the problem in fact isn't fixed yet.
from feudaltactics.
Was it the same exception as before? And how do you reproduce it? I tried your parameters and don't have any issues.
from feudaltactics.
I'm pretty sure that I properly updated to 1.1.4 because after I updated and reopened the game, I got the "see changelog" dialog. But I can't reproduce the crash any more. And I only launched the game via shortcut when I reported this, so without any way to see/store the log. And opening the game via shell yields no more crashes. But just like my former installed version, I started the game, selected a match, clicked play, watched the AIs' turns, and then it crashed. But as even I can't reproduce the crash anymore, I'd suspect that I hadn't "fully" upgraded yet and ran some messed up "intermediate" version. Unless this happens again in the future.
from feudaltactics.
The situation I fixed was caused by a previously played game. You probably encountered a different issue.
from feudaltactics.
I can see on Google Play that someone had another crash at the same line of code. Looks like it I missed something.
from feudaltactics.
Related Issues (20)
- Provide debug information for crash reports HOT 2
- Crash when starting second game HOT 4
- Option to always show current protection level of tiles HOT 2
- Show previously played games. HOT 1
- Strategy guide HOT 2
- Android Virtual Keyboard covers the Seed's Text Input Box HOT 1
- Add adaptive/monochrome app icon for Android 13 HOT 4
- Show number of tiles in enemy kingdoms. HOT 1
- preferences forgotten with flatpak HOT 3
- Possibility to continue watching after being defeated
- Statistics page HOT 2
- Please give feedback about 1.2.0 Release Candidate HOT 4
- Ability to save/copy seed HOT 7
- Move random seed button away from start game button HOT 8
- Crash Report HOT 13
- ConcurrentModificationException Crash HOT 4
- Units can be disposed HOT 1
- Hardware keypad is useless HOT 1
- autoplay HOT 8
- Adversaries do illegal moves HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from feudaltactics.