Jump to content
The Dark Mod Forums

Segfault In Latest Build


Recommended Posts

I get a segfault with the latest build (checked in today). Here is the stacktrace:

 

Thread [1] (Suspended: Signal 'SIGSEGV' received. Description: Segmentation fault.)	
31 std::string::compare()  0xb76059dc	
30 std::operator< <char, std::char_traits<char>, std::allocator<char> >() at /usr/include/c++/4.0.3/bits/basic_string.h:2208 0xb710f0ac	
29 std::less<std::string const>::operator() at /usr/include/c++/4.0.3/bits/stl_function.h:227 0xb710f0da	
28 std::_Rb_tree<std::string const, std::pair<std::string const, unsigned int>, std::_Select1st<std::pair<std::string const, unsigned int> >, std::less<std::string const>, std::allocator<std::pair<std::string const, unsigned int> > >::find() at /usr/include/c++/4.0.3/bits/stl_tree.h:1135 0xb711a65b	
27 std::map<std::string const, unsigned int, std::less<std::string const>, std::allocator<std::pair<std::string const, unsigned int> > >::find() at /usr/include/c++/4.0.3/bits/stl_map.h:498 0xb711a753	
26 Modifiers::getModifierBitIndex() at DarkRadiant/plugins/eventmanager/Modifiers.cpp:104 0xb7117da7	
25 Modifiers::getModifierFlags() at DarkRadiant/plugins/eventmanager/Modifiers.cpp:69 0xb7119159	
24 EventManager::addAccelerator() at DarkRadiant/plugins/eventmanager/EventManager.cpp:111 0xb7111c41	
23 Brush_registerCommands() at DarkRadiant/radiant/brushmanip.cpp:1166 0x080613a2	
22 BrushModuleClass::construct() at DarkRadiant/radiant/brush/BrushModule.cpp:67 0x08210f00	
21 BrushDoom3API() at DarkRadiant/radiant/brush/BrushModule.cpp:173 0x082126ed	
20 DefaultAPIConstructor<BrushDoom3API, BrushDependencies>::constructAPI() at DarkRadiant/libs/modulesystem/singletonmodule.h:42 0x08212771	
19 SingletonModule<BrushDoom3API, BrushDependencies, DefaultAPIConstructor<BrushDoom3API, BrushDependencies> >::capture() at DarkRadiant/libs/modulesystem/singletonmodule.h:124 0x08212d56	
18 SingletonModuleRef<BrushCreator>::capture() at DarkRadiant/include/modulesystem.h:204 0xb6fd92a6	
17 GlobalModuleRef() at DarkRadiant/include/modulesystem.h:246 0xb6fdb116	
16 MapDoom3Dependencies() at DarkRadiant/plugins/mapdoom3/mapdoom3.cpp:58 0xb6fdc6dd	
15 SingletonModule<MapDoom3API, MapDoom3Dependencies, DependenciesAPIConstructor<MapDoom3API, MapDoom3Dependencies> >::capture() at DarkRadiant/libs/modulesystem/singletonmodule.h:120 0xb6fdeb23	
14 ModulesMap<MapFormat>::insert() at DarkRadiant/libs/modulesystem/modulesmap.h:58 0x080f45d2	
13 ModulesRef() at DarkRadiant/libs/modulesystem/modulesmap.h:145 0x080f4804	
12 ReferenceDependencies() at DarkRadiant/radiant/referencecache.cpp:818 0x08112539	
11 SingletonModule<ReferenceAPI, ReferenceDependencies, DefaultAPIConstructor<ReferenceAPI, ReferenceDependencies> >::capture() at DarkRadiant/libs/modulesystem/singletonmodule.h:120 0x08112a87	
10 SingletonModuleRef<ReferenceCache>::capture() at DarkRadiant/include/modulesystem.h:204 0xb628534e	
9 GlobalModuleRef() at DarkRadiant/include/modulesystem.h:246 0xb62867f2	
8 EntityDependencies() at DarkRadiant/plugins/entity/plugin.cpp:62 0xb62872fa	
7 SingletonModule<EntityDoom3API, EntityDependencies, DefaultAPIConstructor<EntityDoom3API, EntityDependencies> >::capture() at DarkRadiant/libs/modulesystem/singletonmodule.h:120 0xb6287557	
6 SingletonModuleRef<EntityCreator>::capture() at DarkRadiant/include/modulesystem.h:204 0x080efc00	
5 GlobalModuleRef() at DarkRadiant/include/modulesystem.h:246 0x080f26b4	
4 RadiantDependencies() at DarkRadiant/radiant/plugin.cpp:227 0x080f4de4	
3 Radiant_Construct() at DarkRadiant/radiant/plugin.cpp:326 0x080ed8dc	
2 Radiant_Initialise() at DarkRadiant/radiant/mainframe.cpp:669 0x080a4b37	
1 main() at DarkRadiant/radiant/main.cpp:529 0x08099294

 

For some reason there seems to be a gap in the callstack between this in Brush_registerCommands():

 

	GlobalEventManager().addCommand("BrushPrism", BrushPrefab::SetCaller(g_brushprism));

 

and EventManager::addAccelerator(), which seems to be called with two unitialised strings. I am not sure why this is, as I would expect there to be a stack entry for EventManager::addCommand() which is what is actually being called, but GDB's usefulness does seem to degrade over time so maybe it is just missing stuff out.

Link to comment
Share on other sites

Still, leaving a user.xml in the local folders should not lead into a segfault. It's not really obvious too, as I check for empty strings before passing them to addAccelerator(). So I'm a bit lost why this could happen.

 

However, I already added some debug possibilites into the EventManager class and I will commit them, they might come handy.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recent Status Updates

    • nbohr1more

      Was checking out old translation packs and decided to fire up TDM 1.07. Rightful Property with sub-20 FPS areas yay! ( same areas run at 180FPS with cranked eye candy on 2.12 )
      · 2 replies
    • taffernicus

      i am so euphoric to see new FMs keep coming out and I am keen to try it out in my leisure time, then suddenly my PC is spouting a couple of S.M.A.R.T errors...
      tbf i cannot afford myself to miss my network emulator image file&progress, important ebooks, hyper-v checkpoint & hyper-v export and the precious thief & TDM gamesaves. Don't fall yourself into & lay your hands on crappy SSD
       
      · 5 replies
    • OrbWeaver

      Does anyone actually use the Normalise button in the Surface inspector? Even after looking at the code I'm not quite sure what it's for.
      · 7 replies
    • Ansome

      Turns out my 15th anniversary mission idea has already been done once or twice before! I've been beaten to the punch once again, but I suppose that's to be expected when there's over 170 FMs out there, eh? I'm not complaining though, I love learning new tricks and taking inspiration from past FMs. Best of luck on your own fan missions!
      · 4 replies
×
×
  • Create New...