[0.6.0-57] Linux "SC_ call before SC_Open()"

Moderator: Raze Developers

Forum rules
Please don't bump threads here if you have a problem - it will often be forgotten about if you do. Instead, make a new thread here.
User avatar
mjr4077au
Posts: 830
Joined: Sun Jun 16, 2019 9:17 pm
Graphics Processor: nVidia with Vulkan support
Location: Gosford NSW, Australia

[0.6.0-57] Linux "SC_ call before SC_Open()"

Post by mjr4077au »

Error is coming from FScanner::CheckOpen(). I'm unsure what the course is, sorry. Still learning how to debug properly and haven't exposed myself to gdb too much yet.

This issue does not occur on Windows.
error.png
You do not have the required permissions to view the files attached to this post.
_mental_
 
 
Posts: 3819
Joined: Sun Aug 07, 2011 4:32 am

Re: [0.6.0-57] Linux "SC_ call before SC_Open()"

Post by _mental_ »

Fixed in 2881cff.
User avatar
mjr4077au
Posts: 830
Joined: Sun Jun 16, 2019 9:17 pm
Graphics Processor: nVidia with Vulkan support
Location: Gosford NSW, Australia

Re: [0.6.0-57] Linux "SC_ call before SC_Open()"

Post by mjr4077au »

So this was fixed in the sense that I re-compiled and ran the game successfully. However, due to weirdness in-game, I reset my config file and this problem re-appeared again.

Tried to delete the $STEAM path in the partially saved INI file as a workaround but it had no luck.
_mental_
 
 
Posts: 3819
Joined: Sun Aug 07, 2011 4:32 am

Re: [0.6.0-57] Linux "SC_ call before SC_Open()"

Post by _mental_ »

Code: Select all

$ gdb raze
(gdb) b sc_man.cpp:1122
(gdb) r
(gdb) bt
User avatar
mjr4077au
Posts: 830
Joined: Sun Jun 16, 2019 9:17 pm
Graphics Processor: nVidia with Vulkan support
Location: Gosford NSW, Australia

Re: [0.6.0-57] Linux "SC_ call before SC_Open()"

Post by mjr4077au »

Thank you for the skill-up. Below is what I get:

Code: Select all

(gdb) b sc_man.cpp:1122
Breakpoint 1 at 0x2bd2f0: sc_man.cpp:1122. (6 locations)
(gdb) r
Starting program: /usr/bin/raze 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
Raze 0.6.0-58-g2881cff75-m - 2020-04-13 14:31:57 +0300 - SDL version
Compiled on Apr 14 2020

Log started: 2020-04-14 17:14:55

Breakpoint 1, FScanner::CheckOpen (this=0x7fffffffe520) at ./source/common/engine/sc_man.cpp:1122
1122	./source/common/engine/sc_man.cpp: No such file or directory.
(gdb) bt
#0  FScanner::CheckOpen() (this=0x7fffffffe520) at ./source/common/engine/sc_man.cpp:1122
#1  FScanner::ScanString(bool) (this=0x7fffffffe520, tokens=false) at ./source/common/engine/sc_man.cpp:494
#2  0x000055555577d320 in LoadCRCCache () at ./source/core/searchpaths.cpp:332
#3  GrpScan() () at ./source/core/searchpaths.cpp:708
#4  0x0000555555774ffc in SetupGame () at ./source/core/gamecontrol.cpp:653
#5  RunGame() () at ./source/core/gamecontrol.cpp:653
#6  0x000055555577731f in GameMain() () at ./source/core/gamecontrol.cpp:399
#7  0x0000555555702920 in main(int, char**) (argc=1, argv=0x7fffffffe8c8)
    at ./source/platform/posix/sdl/i_main.cpp:131
If I make an empty grpcrccache.txt file in my config dir, the issue goes away. The only thing I've noticed is the catch block in LoadCRCCache() is different now from the 6.0.0 release. Perhaps it needs to be reverted so it can catch and handle the I_FatalError in FScanner::CheckOpen()?
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49200
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: [0.6.0-57] Linux "SC_ call before SC_Open()"

Post by Graf Zahl »

Actually, CheckOpen shouldn't throw a fatal error - just a regular one.
Fatal errors should only be thrown if something cannot or should not be handled by an exception catcher outside of the cleanup code. This is a case where GZDoom didn't do it right.
User avatar
mjr4077au
Posts: 830
Joined: Sun Jun 16, 2019 9:17 pm
Graphics Processor: nVidia with Vulkan support
Location: Gosford NSW, Australia

Re: [0.6.0-57] Linux "SC_ call before SC_Open()"

Post by mjr4077au »

That makes sense. With the refactoring you're doing on the backend, would I be best to leave this to you or would you like me to have a go and send through a PR?
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49200
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: [0.6.0-57] Linux "SC_ call before SC_Open()"

Post by Graf Zahl »

I'm rather busy elsewhere right now, I need to do some changes to GZDoom's backend so that it works with Raze, so whatever you can do would help me.
User avatar
mjr4077au
Posts: 830
Joined: Sun Jun 16, 2019 9:17 pm
Graphics Processor: nVidia with Vulkan support
Location: Gosford NSW, Australia

Re: [0.6.0-57] Linux "SC_ call before SC_Open()"

Post by mjr4077au »

PR to fix the issue has been submitted. This has been tested locally for me and provides the expected behaviour.

Return to “Closed Bugs [Raze]”