Crash when switching renderers

Is there something that doesn't work right in the latest GZDoom? Post about it here.

Moderator: GZDoom Developers

Forum rules
Please construct and post a simple demo whenever possible for all bug reports. Please provide links to everything.

If you can include a wad demonstrating the problem, please do so. Bug reports that include fully-constructed demos have a much better chance of being investigated in a timely manner than those that don't.

Please make a new topic for every bug. Don't combine multiple bugs into a single topic. Thanks!

Crash when switching renderers

Postby Graf Zahl » Sun Dec 09, 2018 7:55 am

It now happened multiple times to me that when I switched from software to hardware I got a crash in MemcpyCommand::Execute.

Apparently some worker thread is left hanging, even after the software renderer has been taken down.
User avatar
Graf Zahl
Lead GZDoom Developer
Lead GZDoom Developer
 
Joined: 19 Jul 2003
Location: Germany

Re: Crash when switching renderers

Postby dpJudas » Sun Dec 09, 2018 11:20 am

I'm not able to reproduce this on master. Is this on some branch?

If the source of the problem is what you're describing, then the call stack of the main thread should be past the DrawerThreads::WaitForWorkers function when it crashes.
dpJudas
 
 
 
Joined: 28 May 2016

Re: Crash when switching renderers

Postby Graf Zahl » Sun Dec 09, 2018 11:26 am

I had it happen once on Master and today 3 times altogether on Texture_Cleanup, but those might be related to broken texture data having trashed some memory.
But the one time on Master was totally out of the blue.
User avatar
Graf Zahl
Lead GZDoom Developer
Lead GZDoom Developer
 
Joined: 19 Jul 2003
Location: Germany

Re: Crash when switching renderers

Postby Rachael » Sun Dec 09, 2018 11:28 am

I've had this happen to me before. The crash was so random, and I have experience with random crashes enough that I really didn't want to try and track down the exact cause of the issue to make a report.
User avatar
Rachael
Webmaster
 
Joined: 13 Jan 2004
Discord: Rachael#3767
Twitch ID: madamerachelle
Github ID: madame-rachelle

Re: Crash when switching renderers

Postby dpJudas » Sun Dec 09, 2018 11:44 am

I need a call stack from the main thread next time someone experiences it. It could also be crashing due to it going out of bounds somehow, which overall is more likely as the variables controlling the worker threads are guarded by std::mutex and std::condition_variable.
dpJudas
 
 
 
Joined: 28 May 2016

Re: Crash when switching renderers

Postby drfrag » Mon Dec 10, 2018 6:30 am

Has happened to me several times with the legacy build and MinGW debug builds.

Unrelated but vid_rendermode can take weird values which causes funny effects when looking up and down.
Pushed a fix here:
https://github.com/drfrag666/gzdoom/com ... a2b7d37956
User avatar
drfrag
I.R developer, I.R smart
Vintage GZDoom Developer
 
Joined: 23 Apr 2004
Location: Spain

Re: Crash when switching renderers

Postby Graf Zahl » Mon Dec 10, 2018 6:56 am

Can you please make a PR from that commit? It's not that easy to cherry pick it out of another repository.
User avatar
Graf Zahl
Lead GZDoom Developer
Lead GZDoom Developer
 
Joined: 19 Jul 2003
Location: Germany

Re: Crash when switching renderers

Postby Rachael » Mon Dec 10, 2018 7:03 am

Code: Select allExpand view
git fetch https://github.com/drfrag/gzdoom legacy
git cherry-pick 3993aca50808d3e9156764a02d9c3ca2b7d37956


Not difficult - Cherry-picked as cbb5f8a0dc7c3b7facfb348672d09310b41bd289
User avatar
Rachael
Webmaster
 
Joined: 13 Jan 2004
Discord: Rachael#3767
Twitch ID: madamerachelle
Github ID: madame-rachelle

Re: Crash when switching renderers

Postby Graf Zahl » Mon Dec 10, 2018 7:38 am

The problem is the fetch, it'd pollute the local data with everything from that other repo which I do not want in my local copy, especially if it's just go get access to a single commit.
User avatar
Graf Zahl
Lead GZDoom Developer
Lead GZDoom Developer
 
Joined: 19 Jul 2003
Location: Germany

Re: Crash when switching renderers

Postby drfrag » Tue Dec 11, 2018 5:34 am

Rachael wrote:Cherry-picked

Thanks. :wub:

With the command line that Rachael posted one should be able to fetch only one branch and there are other methods explained at Stack Overflow but i don't know if it's possible with TortoiseGit.
User avatar
drfrag
I.R developer, I.R smart
Vintage GZDoom Developer
 
Joined: 23 Apr 2004
Location: Spain

Re: Crash when switching renderers

Postby Rachael » Tue Dec 11, 2018 8:32 am

drfrag wrote:With the command line that Rachael posted one should be able to fetch only one branch and there are other methods explained at Stack Overflow but i don't know if it's possible with TortoiseGit.


Graf Zahl wrote:The problem is the fetch, it'd pollute the local data with everything from that other repo which I do not want in my local copy, especially if it's just go get access to a single commit.


Don't ask me. ¯\_(ツ)_/¯

I know what he's saying, but this is why you consolidate repositories if you're really worried about such things. Git is designed from the ground up to handle multiple workflows like this seamlessly. Unless your disk space is really really tight, this shouldn't even be a problem, and eventually Git cleans it up anyway.
User avatar
Rachael
Webmaster
 
Joined: 13 Jan 2004
Discord: Rachael#3767
Twitch ID: madamerachelle
Github ID: madame-rachelle


Return to Bugs

Who is online

Users browsing this forum: No registered users and 1 guest