VDrift / vdrift

VDrift source code
http://vdrift.net/
GNU General Public License v3.0
353 stars 96 forks source link

Segfault #167

Closed limburgher closed 5 years ago

limburgher commented 5 years ago

vdrift-2014-10-20 and master both segfault on Fedora 30. See attached trace. gdb-vdrift.txt

limburgher commented 5 years ago

Still segfaults, but differently.

INFO: Multi-processor system detected. Run with -multithreaded argument to enable multithreading (EXPERIMENTAL). INFO: Starting VDrift: 2019-05-01-full, Revision: Unversioned directory, O/S: Unix INFO: Home directory: /home/gwyn INFO: Settings file: /home/gwyn/.vdrift/VDrift.config (does not exist, will be created) INFO: Data directory: /usr/share/vdrift DATA_DIR: /usr/share/vdrift INFO: Temporary directory: /home/gwyn/.vdrift/tmp INFO: Log file: /home/gwyn/.vdrift/log.txt ERROR: Failed to load /home/gwyn/.vdrift/VDrift.config INFO: The last VDrift startup was unsuccessful. Settings have been set to failsafe defaults. Your original VDrift.config file was backed up to VDrift.config.backup INFO: Request OpenGL 3.3 Core Profile context. INFO: Disabling antialiasing INFO: Disabling vertical synchronization. INFO: Video card information: GL Vendor: Intel Open Source Technology Center GL Renderer: Mesa DRI Intel(R) Haswell Mobile GL Version: 4.5 (Core Profile) Mesa 19.0.3 Texture units: 32 Maximum texture size: 16384 INFO: Maximum anisotropy: 16 INFO: Maximum color attachments: 8 INFO: Maximum draw buffers (1 required): 8 INFO: Renderer: /usr/share/vdrift/shaders/gl2/basic.conf INFO: 0 joysticks found. INFO: Loading car controls from: /home/gwyn/.vdrift/controls.config INFO: Update status file /home/gwyn/.vdrift/updates.config will be created INFO: Update status file /home/gwyn/.vdrift/updates.config will be created INFO: Obtained audio device: Frequency: 44100 Format: 32784 Bits per sample: 16 Channels: 2 Silence: 0 Samples: 512 Size: 2048 INFO: Sound initialization successful INFO: Loaded fonts successfully INFO: Loaded GUI successfully INFO: No force feedback devices found. INFO: Loading track from path: /usr/share/vdrift/skins/simple INFO: Loaded surfaces file, 1 surfaces. INFO: No lap sequence found. Lap timing will not be possible. libpng warning: iCCP: known incorrect sRGB profile libpng warning: iCCP: known incorrect sRGB profile ERROR: .engine.displacement not found. ERROR: Failed to load physics for car: XS/XS vdrift: src/gui/gui.cpp:557: GuiOption& Gui::GetOption(const string&): Assertion `it != options.end()' failed. Aborted (core dumped)

limburgher commented 5 years ago

This is using the data from 2014-10-20, should I update, and if so, from where?

logzero commented 5 years ago

data is hosted on sourceforge https://github.com/VDrift/vdrift/blob/master/docs/Getting_the_development_version.md svn co https://vdrift.svn.sourceforge.net/svnroot/vdrift/vdrift-data data

limburgher commented 5 years ago

That didn't work: svn co https://vdrift.svn.sourceforge.net/svnroot/vdrift/vdrift-data data svn: E170013: Unable to connect to a repository at URL 'https://vdrift.svn.sourceforge.net/svnroot/vdrift/vdrift-data' svn: E160013: '/svnroot/vdrift/vdrift-data' path not found

leillo1975 commented 5 years ago

Use this:

svn checkout https://svn.code.sf.net/p/vdrift/code/vdrift-data/ data

limburgher commented 5 years ago

Ah, that worked, thank you. Is there a smaller default set of data I could ship, or just the whole thing? Upside, it's a lot. Downside, it's a lot. :)

limburgher commented 5 years ago

Dang, segfault:

ERROR: Error opening roads file: /usr/share/vdrift/tracks/laconca/roads.trk ERROR: Error during road loading; continuing with an unsmoothed track /usr/include/c++/9/bits/stl_vector.h:1042: std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::operator[](std::vector<_Tp, _Alloc>::size_type) [with _Tp = RoadStrip; _Alloc = std::allocator; std::vector<_Tp, _Alloc>::reference = RoadStrip&; std::vector<_Tp, _Alloc>::size_type = long unsigned int]: Assertion '__builtin_expect(__n < this->size(), true)' failed. Aborted (core dumped)

leillo1975 commented 5 years ago

With the new data you must use the last code

limburgher commented 5 years ago

I'm using one commit behind master, plus a patch that brings it up to master.

leillo1975 commented 5 years ago

What scons command you use?

limburgher commented 5 years ago

C="gcc" CXX="g++" CXXFLAGS="%{optflags}" \ python2 %{_bindir}/scons \ bin=/bin prefix=/usr use_binreloc=0 \ release=1 os_cc=1 os_cxx=1 os_cxxflags=1 \ NLS=0 \ verbose=1 \ %{?_smp_mflags}