Don't think it was a specific commit, since it was working ok then wasn't within the same commit (original one the problem showed up on). Hadn't ever seen the problem prior to the [build 2016-01-09.e7887b8] though.Vezzra wrote:Andrew, have you been able to track down the commit introducing the issue? It might help narrowing down the cause if we now which changes triggered the problem...
Crash [build 2016-01-09.e7887b8]
Moderator: Oberlus
Re: Crash [build 2016-01-09.e7887b8]
Re: Crash [build 2016-01-09.e7887b8]
I don't know if it is related, but I'm seeing problems with the Mac OSX builds, which seem to be GL driver related (based on the crash report).
After I open the "Options" window from the main menu, hitting "Done" causes the program to crash.
This does *not* happen for the version posted on Jan 05 (2016-01-05.bb0103d), but does happen for the version posted on Jan 12 (2016-01-11.609936e).
Edit: Also see crashes for the Jan 19 and Jan 26 test builds.
After I open the "Options" window from the main menu, hitting "Done" causes the program to crash.
This does *not* happen for the version posted on Jan 05 (2016-01-05.bb0103d), but does happen for the version posted on Jan 12 (2016-01-11.609936e).
Edit: Also see crashes for the Jan 19 and Jan 26 test builds.
Last edited by mem359 on Thu Jan 28, 2016 4:07 am, edited 1 time in total.
- Geoff the Medio
- Programming, Design, Admin
- Posts: 13603
- Joined: Wed Oct 08, 2003 1:33 am
- Location: Munich
Re: Crash [build 2016-01-09.e7887b8]
What are the last few lines of freeorion.log?mem359 wrote:After I open the "Options" window from the main menu, hitting "Done" causes the program to crash.
Re: Crash [build 2016-01-09.e7887b8]
It is identical in both versions.Geoff the Medio wrote:What are the last few lines of freeorion.log?mem359 wrote:After I open the "Options" window from the main menu, hitting "Done" causes the program to crash.
Code: Select all
2016-01-27 21:05:31.955716 [debug] Client : Limited FPS to 60
2016-01-27 21:05:31.956435 [debug] Client : OpenGL Version Number: 2.1
2016-01-27 21:05:31.956939 [debug] Client : (HumanClientFSM) IntroMenu
2016-01-27 21:05:31.956965 [debug] Client : HumanClientApp::KillServer()
2016-01-27 21:05:31.956981 [debug] Client : Process::Kill
2016-01-27 21:05:31.956993 [debug] Client : Process::Kill found no m_impl
2016-01-27 21:05:31.957004 [debug] Client : Process::Kill calling RequestTermination()
2016-01-27 21:05:31.957018 [debug] Client : ClientNetworking::SetPlayerID: player id set to: -1
2016-01-27 21:05:32.127284 [debug] Client : HumanClientApp::HandleFocusChange(Gained Focus)
To be clear, I am using the Mac test builds provided by Vezzra.
I am launching the program, clicking the "Options" button in the main menu, then clicking "Done" in the Options window. Nothing else. Did not change any of the settings, did not load or start any games.
The only reason why I thought this might be GL related is due to some of the messages in the CrashReporter.
Code: Select all
Crashed Thread: 0 Dispatch queue: com.apple.main-thread
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x000000000000000c
Exception Note: EXC_CORPSE_NOTIFY
VM Regions Near 0xc:
-->
__TEXT 000000000008f000-0000000000851000 [ 7944K] r-x/rwx SM=COW /Users/USER/*/FreeOrion.app/Contents/MacOS/FreeOrion
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 com.apple.GeForceTeslaGLDriver 0x076b0e64 0x7395000 + 3260004
1 com.apple.GeForceTeslaGLDriver 0x079d984d 0x7395000 + 6572109
2 com.apple.GeForceTeslaGLDriver 0x079d7769 0x7395000 + 6563689
3 com.apple.GeForceTeslaGLDriver 0x076b1fc8 0x7395000 + 3264456
4 GLEngine 0x06dfea1b glDrawArrays_ACC_Exec + 442
5 libGL.dylib 0x94b1c933 glDrawArrays + 47
6 org.freeorion.FreeOrion 0x001237eb CUIWnd::Render() + 263
7 org.freeorion.FreeOrion 0x005387fb GG::GUI::RenderWindow(GG::Wnd*) + 53
8 org.freeorion.FreeOrion 0x00538960 GG::GUI::RenderWindow(GG::Wnd*) + 410
9 org.freeorion.FreeOrion 0x00538960 GG::GUI::RenderWindow(GG::Wnd*) + 410
10 org.freeorion.FreeOrion 0x00538ffa GG::GUI::Render() + 148
11 org.freeorion.FreeOrion 0x00510b91 GG::EventPumpBase::LoopBody(GG::GUI*, GG::EventPumpState&, bool, bool) + 409
12 org.freeorion.FreeOrion 0x00510cdb GG::ModalEventPump::operator()() + 81
13 org.freeorion.FreeOrion 0x00586e44 GG::SDLGUI::Run() + 54
14 org.freeorion.FreeOrion 0x000c27a9 mainSetupAndRun() + 807
Re: Crash [build 2016-01-09.e7887b8]
Ok, so essentially the last build that worked for you has been bb0103d, and the first that didn't 609936e. That means the change that introduced the issue must have happened between these two commits. The thing is, practically all commits between bb0103d and 609936e have been only changes to content (content scripts, stringtables, image files), there is actually only one commit with changes to the backend code: cd7cbf6. That one however looks like it could be the culprit.mem359 wrote:This does *not* happen for the version posted on Jan 05 (2016-01-05.bb0103d), but does happen for the version posted on Jan 12 (2016-01-11.609936e).
Edit: Also see crashes for the Jan 19 and Jan 26 test builds.
I've produced a special test build that has the changes of cd7cbf6 reverted, here is the download link:
http://sourceforge.net/projects/freeori ... g/download
Please download and check if the issue turns up with this build, and report back. Just to be safe, make sure to delete config.xml and all log files before you run the special test build.
Re: Crash [build 2016-01-09.e7887b8]
The special test build works.Vezzra wrote:Ok, so essentially the last build that worked for you has been bb0103d, and the first that didn't 609936e. That means the change that introduced the issue must have happened between these two commits. The thing is, practically all commits between bb0103d and 609936e have been only changes to content (content scripts, stringtables, image files), there is actually only one commit with changes to the backend code: cd7cbf6. That one however looks like it could be the culprit.mem359 wrote:This does *not* happen for the version posted on Jan 05 (2016-01-05.bb0103d), but does happen for the version posted on Jan 12 (2016-01-11.609936e).
Edit: Also see crashes for the Jan 19 and Jan 26 test builds.
I've produced a special test build that has the changes of cd7cbf6 reverted, here is the download link:
http://sourceforge.net/projects/freeori ... g/download
Please download and check if the issue turns up with this build, and report back. Just to be safe, make sure to delete config.xml and all log files before you run the special test build.
I can open and close the Options window without the program crashing.
- Geoff the Medio
- Programming, Design, Admin
- Posts: 13603
- Joined: Wed Oct 08, 2003 1:33 am
- Location: Munich
Re: Crash [build 2016-01-09.e7887b8]
I don't know why that specifically would be a problem, as it uses the same set of state setting calls as numerous other places, and the posted call stack is not crashing within that function. Presumably it's actually crashing somewhere else, after the modified function is restoring the state to what it was before the call, instead of altering it as in the previous code...Vezzra wrote:That one however looks like it could be the culprit.
Edit: Does an addition like this compile on OSX / Linux?
Code: Select all
--- "a/C:\\Users\\Geoff\\AppData\\Local\\Temp\\TortoiseGit\\GUIBE8.tmp\\GUI-f22cb9e-left.cpp"
+++ "b/C:\\Users\\Geoff\\Desktop\\FreeOrion_VS2013_SDK\\FreeOrion\\GG\\src\\GUI.cpp"
@@ -1476,10 +1476,17 @@ bool GUI::FocusWndDeselect()
GUI* GUI::GetGUI()
{ return s_gui; }
+namespace {
+ template <class T>
+ void PrintType(T* t)
+ { std::cout << "RenderWndow wnd: " << typeid(*t).name() << std::endl; }
+}
+
void GUI::RenderWindow(Wnd* wnd)
{
if (!wnd)
return;
+ PrintType(wnd);
if (wnd->Visible()) {
wnd->Render();
Re: Crash [build 2016-01-09.e7887b8]
Yeah, I know, but fact is that with this commit reverted a test build works on mem359's system, while a test build after that commit crashes. That commit shouldn't cause this, yet it does, and I can't even speculate what's going on here... but since when do computer make sense...?Geoff the Medio wrote:I don't know why that specifically would be a problem, as it uses the same set of state setting calls as numerous other places, and the posted call stack is not crashing within that function. Presumably it's actually crashing somewhere else, after the modified function is restoring the state to what it was before the call, instead of altering it as in the previous code...
It does on OSX (didn't test on Linux). Made another special test build with that patch applied.Edit: Does an addition like this compile on OSX / Linux?
@mem359, can you download and run this test build like the other one? You will have to launch the freeorion executable from the command line though (because the debug output Geoff added is dumped to the console), do you know how to do this? We need the debug messages printed in the console window.
Download link: http://sourceforge.net/projects/freeori ... g/download
Something I noticed when I briefly reread this thread: both mem359 and Andrew apparently have nvidia cards, so I started to wonder if their issues might be related. @Andrew: I pushed the two branches I created to produce the two special test builds to my clone of the FO repo on github. "fix-mac-graphics-driver-crash" is the branch with commit cd7cbf6 reverted, "log-mac-graphics-driver-crash" is the branch with the patch (with the additional debug output) Geoff posted above applied. Can you pull and build the branch with the reverted commit and see if that fixes the issue on your system?
Re: Crash [build 2016-01-09.e7887b8]
Seems to have fixed the issue. And just to confirm, yes Nvidia GTX 660 in here.Vezzra wrote:Something I noticed when I briefly reread this thread: both mem359 and Andrew apparently have nvidia cards, so I started to wonder if their issues might be related. @Andrew: I pushed the two branches I created to produce the two special test builds to my clone of the FO repo on github. "fix-mac-graphics-driver-crash" is the branch with commit cd7cbf6 reverted, "log-mac-graphics-driver-crash" is the branch with the patch (with the additional debug output) Geoff posted above applied. Can you pull and build the branch with the reverted commit and see if that fixes the issue on your system?
Re: Crash [build 2016-01-09.e7887b8]
Nice catch. My laptop has the Nvidia GeForce GT 330M.Vezzra wrote:Something I noticed when I briefly reread this thread: both mem359 and Andrew apparently have nvidia cards, so I started to wonder if their issues might be related.
And you are probably right.
I found a program (gfxCardStatus) that gives limited control over the Mac graphics cards. I managed to start FreeOrion with the Intel integrated graphics being used. (The OS will switch to the Nvidia card when running FreeOrion, but I had a few seconds to monkey around before that happened.) I was able to open and close the Options window and exit *without* crashing. I switched back to the normal operation (using the discrete Nvidia card), and still got the Options-window crashing.
I assume you just want the end of the log? (I notice that debug messages are generated in vast quantities even when the program is mostly idle. If you want the output from both the Nvidia and integrated graphics logs, I can post them here if needed.)Vezzra wrote:@mem359, can you download and run this test build like the other one? You will have to launch the freeorion executable from the command line though (because the debug output Geoff added is dumped to the console), do you know how to do this? We need the debug messages printed in the console window.
Code: Select all
RenderWndow wnd: N12_GLOBAL__N_114RowContentsWndE
RenderWndow wnd: N2GG6LayoutE
RenderWndow wnd: N2GG6LayoutE
RenderWndow wnd: 7CUISpinIdE
RenderWndow wnd: 7CUIEdit
RenderWndow wnd: 14CUIArrowButton
RenderWndow wnd: 14CUIArrowButton
RenderWndow wnd: 8CUILabel
RenderWndow wnd: N2GG7ListBox3RowE
RenderWndow wnd: N2GG6LayoutE
RenderWndow wnd: N12_GLOBAL__N_114RowContentsWndE
RenderWndow wnd: N2GG6LayoutE
RenderWndow wnd: 9CUIButton
RenderWndow wnd: 9CUIScroll
RenderWndow wnd: N9CUIScroll9ScrollTabE
RenderWndow wnd: 11IntroScreen
RenderWndow wnd: N2GG13StaticGraphicE
RenderWndow wnd: N2GG13StaticGraphicE
RenderWndow wnd: 6CUIWnd
Segmentation fault: 11
logout
Saving session...
Re: Crash [build 2016-01-09.e7887b8]
AndrewW wrote:Seems to have fixed the issue. And just to confirm, yes Nvidia GTX 660 in here.
Very well, this seems to confirm my suspicions. Apparently there is some really weird glitch in Nvidias OpenGL drivers for OSX and Linux (at least for these cards) which, in conjunction with the changes of commit cd7cbf6, cause these elusive crashes.mem359 wrote:Nice catch. My laptop has the Nvidia GeForce GT 330M.Vezzra wrote:Something I noticed when I briefly reread this thread: both mem359 and Andrew apparently have nvidia cards, so I started to wonder if their issues might be related.
And you are probably right.
I found a program (gfxCardStatus) that gives limited control over the Mac graphics cards. I managed to start FreeOrion with the Intel integrated graphics being used. (The OS will switch to the Nvidia card when running FreeOrion, but I had a few seconds to monkey around before that happened.) I was able to open and close the Options window and exit *without* crashing. I switched back to the normal operation (using the discrete Nvidia card), and still got the Options-window crashing.
@Geoff, as these cards aren't exactly exotic models, and these issues that seem related occur on different platforms, I think we should revert that commit for the time being, until you can get around to try to fix whatever strange thing is going on here - is that ok? Or do you foresee some potential problems when we do this revert?
Yep, I guess that fine. If I understand correctly, Geoff wanted to narrow down where exactly the crash occurs, for that it should be sufficient - Geoff?I assume you just want the end of the log?
Re: Crash [build 2016-01-09.e7887b8]
Bump? Or are you already on it...?Vezzra wrote:@Geoff, as these cards aren't exactly exotic models, and these issues that seem related occur on different platforms, I think we should revert that commit for the time being, until you can get around to try to fix whatever strange thing is going on here - is that ok? Or do you foresee some potential problems when we do this revert?Yep, I guess that fine. If I understand correctly, Geoff wanted to narrow down where exactly the crash occurs, for that it should be sufficient - Geoff?I assume you just want the end of the log?
Re: Crash [build 2016-01-09.e7887b8]
Well, I can confirm it still occurs with [build 2016-02-06.0731e53].Vezzra wrote:Bump? Or are you already on it...?
- Geoff the Medio
- Programming, Design, Admin
- Posts: 13603
- Joined: Wed Oct 08, 2003 1:33 am
- Location: Munich
Re: Crash [build 2016-01-09.e7887b8]
Just do as you think is best and don't wait for my permission... or at least don't want more than a couple days.
Re: Crash [build 2016-01-09.e7887b8]
Okay... I just didn't want to revert some code of which I don't really know what it's doing without checking back first.Geoff the Medio wrote:Just do as you think is best and don't wait for my permission... or at least don't want more than a couple days.