-
Notifications
You must be signed in to change notification settings - Fork 824
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Issue Report]: Unexpected Crash Report #7691
Comments
Can you reproduce it with similar circumstances? You and the other player in a TCP game, and you highlight his Town Portal. Ideally same join order as well. |
Don't think so, it's not as simple as play TCP and highlight a portal, it 100% have other things going on there |
I'm sorry, I should've watched the video before posting. When the game crashed for us, it didn't show devX not working but just disappeared completely, so it's probably a separate issue. Still leaving the comment just in case it's useful to anybody. |
@Firnblut How frequently does it happen (as in, how long would I have to play in order to encounter it)? Who were you playing with (was it over the internet or LAN)? We only need it to happen once while debugging to learn more. Also, I'm not sure if there's any real difference between "devilutionx.exe has stopped working" and just outright crashing to desktop. Windows OS is a bit of a black box in this regard, and any Google search is going to flood you with generic articles on "how to fix the problem" as an end user. |
@StephenCWills How do I run it in debugging? I might try to setup some tcp games and hope for it to crash. |
Okay, that doesn't sound very promising then. Technically, to run the game in a debugger, you only need to configure your debugger to launch the executable. But to get anything useful out of it, you'll probably need to follow the build instructions, but create a Debug build of 1.5 instead of a Release build of master. Then attach the debugger to your Debug build and place a breakpoint on line 52 of If you're running the game on Windows, then perhaps you can find some logs in Event Viewer for me? Navigate to |
@StephenCWills
Note that while the folder says 1.4.1, that's actually 1.5.3, I just didn't bother renaming the folder. |
@Firnblut I don't suppose you can share the information under the |
@StephenCWills Sure thing, sorry, I didn't know what we were looking for:
Additional information: This is not an issue on a single computer, it happened to different players on different machines, so it's unlikely to be a hardware issue. On another note: I'm not running DevX as admin, idk if it might be significant. Or maybe this can be fixed by turning off DEP for devX? |
Please do not run as admin or turn off DEP. DevilutionX should run fine without privilege escalation and with DEP on. We just need to figure out where offset 0x48e15 is and go from there. To be clear, you are using |
Yep, that‘s correct. |
I found the line of code based on the "fehleroffset" in the crash report, with high confidence. Line 2864 in ba5a9d6
The error occurs in No telling whether this is the same error @D1-Constantine encountered, but it could be. Rather, there's no way to tell at this point, so we should probably just assume that it is. |
Can you also please get an MD5 sum of your diabdat.mpq |
Actually, rather than a buffer overrun due to the sprite list being too short, it may be more likely that Lines 204 to 207 in d92bdd2
I was able to reproduce a similar error with the following change. diff --git a/Source/player.cpp b/Source/player.cpp
index e5c3dcc12..84e4a098e 100644
--- a/Source/player.cpp
+++ b/Source/player.cpp
@@ -2049,6 +2049,9 @@ void LoadPlrGFX(Player &player, player_graphic graphic)
if (animationData.sprites)
return;
+ if (DebugToggle)
+ return;
+
const HeroClass cls = GetPlayerSpriteClass(player._pClass);
const PlayerWeaponGraphic animWeaponId = GetPlayerWeaponGraphic(graphic, static_cast<PlayerWeaponGraphic>(player._pgfxnum & 0xF)); There are a handful of possibilities that could cause
However, I don't know how to trigger any of these possibilities during normal play. |
I can safely say the crash I provided the log for didn‘t occur while anybody was in town. It might have been somebody dying at that time though. We had crashes with nobody dying though and I‘m pretty sure we had crashes with nobody dying nor anybody in town. We also only experienced crashes when playing over TCP. We play fairly frequently and only switched to tcp a while back. Never experienced anything like that while playing via ZeroTier. I will provide the MD5 sum tomorrow. |
I don't suppose you have any crash logs where Fehleroffset is something other than |
@StephenCWills I looked through the other crash logs and yes, the others have another offset.
@AJenbo |
md5 looks good |
devilutionX/Source/dvlnet/base.cpp Line 111 in faa4486
Somehow, I almost forgot about this. Maybe because we have proper exception handling in 1.6.0. devilutionX/Source/dvlnet/base.cpp Lines 113 to 114 in 3970aae
|
I will have the other players look through their crash logs. I probably wasn‘t the host of those games, so maybe the host‘s game crashing was the reason for the disconnect? |
Well, in order for the host to send a |
Okay, so I have the crash reports from another player who was host for our games. This one happened shorty after my crash that I posted the first log about.
The logs from other crashes show 0x00000000001084cb as well. Idk if it's of any help, but the crash logs on his system come with two additional information logs:
|
DevilutionX/Source/engine/render/scrollrt.cpp Line 405 in ba5a9d6
Seems similar to the issue with DevilutionX/Source/engine/animationinfo.h Line 66 in ba5a9d6
EDIT: Actually, while trying to make sense of this, I forgot there was another line of code involved here. DevilutionX/Source/engine/clx_sprite.hpp Line 138 in ba5a9d6
This suggests |
Operating System
Windows x64
DevilutionX version
1.5.3
Describe
We were playing with Curses on TCP connection when the game suddenly crashed, according to him he did nothin specific like item-swapping, etc.
I luckily was streaming so I managed to get a lip out of it that you can check here: https://www.twitch.tv/d1_constantine/clip/TentativeCredulousAnacondaTBCheesePull-MoRygAJrCKSxulpz
EDIT: on further notice I saw that I saw highlighting the Town Portal Curses made beforehand when the game crashed, maybe it has to do with something.
To Reproduce
No idea
Expected Behavior
Game should not crash
Additional context
No response
The text was updated successfully, but these errors were encountered: