![]() |
vdrift single-threaded crash - Printable Version +- Forums (https://www.vdrift.net/Forum) +-- Forum: Community (https://www.vdrift.net/Forum/forumdisplay.php?fid=3) +--- Forum: Bugs (https://www.vdrift.net/Forum/forumdisplay.php?fid=7) +--- Thread: vdrift single-threaded crash (/showthread.php?tid=1095) |
vdrift single-threaded crash - alex25 - 03-20-2009 version 2380 works in multithreaded mode, but if i try to run it in singlethreaded mode i get: Code: vdrift: src/game.cpp:1414: void GAME::UpdateCarCollisions(CAR&, std::vector<COLLISION_CONTACT, std::allocator<COLLISION_CONTACT> >&, bool) const: Assertion `cached_collisions.size() == 4' failed. --alex-- - Adam_Dunn - 03-20-2009 Is there a process that's used for debugging in gdb? When I try to run vdrift in gdb to hunt down the issue, vdrift captures the keyboard/mouse, but then gdb halts vdrift, preventing the sigabrt code from releasing the kbd/mouse, leading to a deadlock on input. I'm getting this bug too: AMD64 Ubuntu Intrepid, single threaded. - joevenzon - 03-21-2009 Sorry guys, forgot to test the new code before I checked it in. :oops: Should be fixed in 2381. The change was to make multithreaded mode actually do something -- before it was splitting drawing into a separate thread from everything else, but they were running in series because when I'd run them in parallel they'd cause crashes due to one thread changing data while the other was trying to access it. Putting proper locks everywhere was negating the performance increase. The code now uses multithreading for calculation of car physics only, so each car gets its own thread. This doesn't result in a huge speedup (the physics code is pretty fast, especially with optimizations on), but it's at least something, and was easy to add. |