-
Notifications
You must be signed in to change notification settings - Fork 55
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
Stonesense + DFHack not shutting down cleanly #51
Comments
Do you have a crash report? |
No crash report is generated. Last few lines from the log file are [Edit - I added a few more]: ... But nothing else because the kill -9 just brutally butchers the game before it can log anything more. As I said, you select quit and the game just sits at that point. It isn't hanging completely because it continues playing its guitar music, but having selected quit no further interaction is possible save for Force-quitting the non-responsive Dwarf Fortress window. |
Ah, that makes more sense. Can you still run commands in the console, like die? |
This sounds rather similar to the issue Stonesense was having on windows, until very recently. |
Do you mean upgrading Allegro? This is using Allegro 5.2.2. I think I've seen it before (occasionally) with Allegro 5.0.9, though. |
Well I just accidentally typed gg in the dfhack console and here's the results: Logfile: Terminal: logout [Process completed] When I type ls - this is /after/ selecting Quit I got the usual output from ls followed by a similar segmentation fault: Terminal: plugins: logout [Process completed] Invoking die kills it cleanly: Logfile: Terminal: logout [Process completed] |
Yeah, sorry, I meant upgrading Allegro. I used to see the exact same issue on Windows all the time, and was never able to solve it. |
@Simons-Mith Interesting. Do you get a crash report from that? If not, try running this:
I'm hoping that any crash reports you can get might include a backtrace from whatever thread(s) have hung. @JapaMala is it possible that the two "Client connection established." lines followed by just one "Shutting down client connection." line are related? |
Typing that lua command from the dfhack terminal does nothing. The terminal just sits there. The log appears as below. I can't try it after any of the other commands because all of them terminate with a logout and a process completed. Invoking: gui/prerelease-warning When I Force Quit i get the same killed: 9 message as before: Invoking: gui/prerelease-warning /Applications/Games/Dwarf Fortress/dfhack: line 15: 4368 Killed: 9 DYLD_INSERT_LIBRARIES=./hack/libdfhack.dylib ./dwarfort.exe "$@" logout [Process completed] |
Huh, the Lua command should have crashed. Anyway, DF definitely crashed when you ran "gg" and "ls" - did those give you crash reports? (If not, do you have crash reports turned off?) |
Oh whoops, they were just stashed in a different area of the logfiles. This one says thread zero crashed, as do all except two of the others. Will post the two others (thread 7 and thread 15) separately. On double-checking the timestamps, Thread 15 seems to be the Lua crash. Process: dwarfort.exe [1994] Date/Time: 2017-05-02 19:41:04.466 +0100 Crashed Thread: 0 Dispatch queue: com.apple.main-thread Exception Type: EXC_CRASH (SIGSEGV) Thread 0 Crashed:: Dispatch queue: com.apple.main-thread Thread 1:: Dispatch queue: com.apple.libdispatch-manager Thread 2: Thread 3:: com.apple.audio.IOThread.client Thread 4: Thread 5: Thread 6: Thread 7: Thread 8: Thread 9: Thread 10: Thread 11: Thread 12: Thread 13: Thread 14: Thread 15:: CVDisplayLink Thread 16: Thread 17: Thread 18: Thread 0 crashed with X86 Thread State (64-bit): Logical CPU: 0 Binary Images: External Modification Summary: VM Region Summary: REGION TYPE VIRTUAL |
Process: dwarfort.exe [4345] Date/Time: 2017-05-03 04:18:58.051 +0100 Crashed Thread: 15 Exception Type: EXC_BAD_ACCESS (SIGSEGV) Thread 0:: Dispatch queue: com.apple.main-thread Thread 1:: Dispatch queue: com.apple.libdispatch-manager Thread 2: Thread 3: Thread 4:: com.apple.audio.IOThread.client Thread 5: Thread 6: Thread 7: Thread 8: Thread 9: Thread 10: Thread 11: Thread 12: Thread 13: Thread 14: Thread 15 Crashed: Thread 15 crashed with X86 Thread State (64-bit): Logical CPU: 1 Binary Images: External Modification Summary: VM Region Summary: REGION TYPE VIRTUAL |
Process: dwarfort.exe [4013] Date/Time: 2017-05-03 03:40:10.368 +0100 Crashed Thread: 7 Exception Type: EXC_BAD_ACCESS (SIGSEGV) Thread 0:: Dispatch queue: com.apple.main-thread Thread 1:: Dispatch queue: com.apple.libdispatch-manager Thread 2:: com.apple.audio.IOThread.client Thread 3: Thread 4: Thread 5: Thread 6: Thread 7 Crashed: Thread 8: Thread 9: Thread 10: Thread 11: Thread 12: Thread 13: Thread 7 crashed with X86 Thread State (64-bit): Logical CPU: 1 Binary Images: External Modification Summary: VM Region Summary: REGION TYPE VIRTUAL |
Are you in full-screen mode when you're quitting DF? |
The one where thread 15 crashed looks like a possible Stonesense issue in Tile::tileMaterial(). @JapaMala For reference:
Any idea if/why this could crash on shutdown? (Stonesense has already quit, so I'm not sure why that would still be getting called.) |
[Full-screen mode] No, everything's windowed. I did try stonesense full-screen a couple of times but issue #32 makes it of limited use at present. |
Mac OS 10.9.5, dfhack 43.05.beta2
This is a cut and paste of DFHack/dfhack#1084
(This is with the fresh dylib version as supplied today to fix dfhack issue 1083)
What I do:
run dfhack
load fortress (created in 43.05), which starts out paused.
Run 'ssense' or 'stonesense' from dfhack command line
stonesense window comes up correctly centred on wherever in the fortress the cursor was set.
admire fortress
close Stonesense window.
Save game.
Select Quit from dwarf Fortress main menu
Dwarf Fortress still has the Stonesense icon, and it won't shut down until Force Quit.
At that point DF is forcibly removed and the dfhack terminal window reports this:
Stonesense launched
Using allegro version 5.2.2 r1
Stonesense shutdown.
Clearing all animal hospitals
[DFHack]# /Applications/Games/Dwarf Fortress/dfhack: line 15: 2031 Killed: 9 DYLD_INSERT_LIBRARIES=./hack/libdfhack.dylib ./dwarfort.exe "$@"
logout
[Process completed]
The text was updated successfully, but these errors were encountered: