Closed dllu closed 7 years ago
So your video drivers are crashing, unfortunately Nvidia drivers source is closed so I don't know what's going on.
My machine is using nvidia with the exact same drivers (381.22), but I cannot reproduce the error.
There's similar troubles in #80, could you give me the output of glxinfo | grep version
?
This guy has a similar issue, but fixed it with a environment variable: https://github.com/naelstrof/maim/issues/99#issuecomment-308205196
Also, could you see if this commit makes any difference? badecc298be64aa1c3417eb694182a23ebc3515d
Oh and using git bisect to find the commit that caused the bug would help too.
Here's the output of glxinfo | grep version
:
> glxinfo | grep version
server glx version string: 1.4
client glx version string: 1.4
GLX version: 1.4
OpenGL core profile version string: 4.5.0 NVIDIA 381.22
OpenGL core profile shading language version string: 4.50 NVIDIA
OpenGL version string: 4.5.0 NVIDIA 381.22
OpenGL shading language version string: 4.50 NVIDIA
OpenGL ES profile version string: OpenGL ES 3.2 NVIDIA 381.22
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
GL_EXT_shader_implicit_conversions, GL_EXT_shader_integer_mix,
As for that guy's environment variable, it didn't help.
> env MESA_DEBUG=1 ./slop
fish: “env MESA_DEBUG=1 ./slop” terminated by signal SIGSEGV (Address boundary error)
> env MESA_GL_VERSION_OVERRIDE="3.0" ./slop
fish: “env MESA_GL_VERSION_OVERRIDE="3…” terminated by signal SIGSEGV (Address boundary error
In fact, the segmentation fault happens with slop -v
as well.
According to git bisect,
3b19860795514db6eada52603a57b40044f2a655 is the first bad commit
> git checkout 3b19860795514db6eada52603a57b40044f2a655
Previous HEAD position was 9019211... Fixed a bug where an InputOnly window would be selected.
HEAD is now at 3b19860... Switched to using a POSIX compliant argument parser. This will break scripts! sorry
> cmake -DCMAKE_BUILD_TYPE=Debug ..; and make; and ../bin/slop
-- Configuring done
-- Generating done
-- Build files have been written to: /home/dllu/Proj/slop/build
Scanning dependencies of target slopy
[ 6%] Building CXX object CMakeFiles/slopy.dir/src/mouse.cpp.o
[ 12%] Building CXX object CMakeFiles/slopy.dir/src/keyboard.cpp.o
[ 18%] Building CXX object CMakeFiles/slopy.dir/src/x.cpp.o
[ 25%] Building CXX object CMakeFiles/slopy.dir/src/slopstates.cpp.o
[ 31%] Building CXX object CMakeFiles/slopy.dir/src/framebuffer.cpp.o
[ 37%] Building CXX object CMakeFiles/slopy.dir/src/resource.cpp.o
[ 43%] Building C object CMakeFiles/slopy.dir/src/gl_core_3_3.c.o
[ 50%] Building CXX object CMakeFiles/slopy.dir/src/shader.cpp.o
[ 56%] Building CXX object CMakeFiles/slopy.dir/src/window.cpp.o
[ 62%] Building CXX object CMakeFiles/slopy.dir/src/slop.cpp.o
[ 68%] Building CXX object CMakeFiles/slopy.dir/src/rectangle.cpp.o
[ 75%] Building CXX object CMakeFiles/slopy.dir/src/xshaperectangle.cpp.o
[ 81%] Building CXX object CMakeFiles/slopy.dir/src/glrectangle.cpp.o
[ 87%] Linking CXX shared library libslopy.so
[ 87%] Built target slopy
Scanning dependencies of target slop
[ 93%] Building CXX object CMakeFiles/slop.dir/src/main.cpp.o
[100%] Linking CXX executable ../bin/slop
[100%] Built target slop
fish: “and ../bin/slop” terminated by signal SIGSEGV (Address boundary error)
> git checkout 90192110ecfad40ef08c5a42a6d6370c6cc5b929
Previous HEAD position was 3b19860... Switched to using a POSIX compliant argument parser. This will break scripts! sorry
HEAD is now at 9019211... Fixed a bug where an InputOnly window would be selected.
> cmake -DCMAKE_BUILD_TYPE=Debug ..; and make; and ../bin/slop
-- Configuring done
-- Generating done
-- Build files have been written to: /home/dllu/Proj/slop/build
Scanning dependencies of target slopy
[ 5%] Building CXX object CMakeFiles/slopy.dir/src/mouse.cpp.o
[ 11%] Building CXX object CMakeFiles/slopy.dir/src/keyboard.cpp.o
[ 17%] Building CXX object CMakeFiles/slopy.dir/src/x.cpp.o
[ 23%] Building CXX object CMakeFiles/slopy.dir/src/slopstates.cpp.o
[ 29%] Building CXX object CMakeFiles/slopy.dir/src/framebuffer.cpp.o
[ 35%] Building CXX object CMakeFiles/slopy.dir/src/resource.cpp.o
[ 41%] Building C object CMakeFiles/slopy.dir/src/gl_core_3_3.c.o
[ 47%] Building CXX object CMakeFiles/slopy.dir/src/shader.cpp.o
[ 52%] Building CXX object CMakeFiles/slopy.dir/src/window.cpp.o
[ 58%] Building CXX object CMakeFiles/slopy.dir/src/slop.cpp.o
[ 64%] Building CXX object CMakeFiles/slopy.dir/src/rectangle.cpp.o
[ 70%] Building CXX object CMakeFiles/slopy.dir/src/xshaperectangle.cpp.o
[ 76%] Building CXX object CMakeFiles/slopy.dir/src/glrectangle.cpp.o
[ 82%] Linking CXX shared library libslopy.so
[ 82%] Built target slopy
Scanning dependencies of target slop
[ 88%] Building CXX object CMakeFiles/slop.dir/src/options.cpp.o
[ 94%] Building CXX object CMakeFiles/slop.dir/src/main.cpp.o
[100%] Linking CXX executable ../bin/slop
[100%] Built target slop
Failed to detect a compositor, OpenGL hardware-accelleration disabled...
907x818+1644+1722
Ok so yup, #80 wasn't fixed.
I barely know what's going on, but I know how to replicate the issue (disabling unicode in slop and running really old nvidia drivers replicates this issue for me). This is a really strange issue where even if main.cpp contains
#include "cxxopts.hpp"
int main( int argc, char** argv ) {
return 0;
}
It'll still segfault. It probably has something to do with how I link the libraries together or something. I'll have to sit around tweaking stuff until it works.
Any help would be appreciated.
Should actually be fixed now. So should #80.
For those of you who have an out-of-date slop and see this thread. The solution (provided you don't have access to the new patch) is that you can run
LD_PRELOAD=/usr/lib/libpthread.so.1 slop
which fixes the segfault during the preload.
Today I cloned and compiled the latest version 0b66444ad43c6a2c9b5da399d8ce2e2568f56292
I'm using:
Graphics card is an NVIDIA Geforce GTX 1070:
Here's my screen configuration:
T__T