-
Notifications
You must be signed in to change notification settings - Fork 84
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Segfault on linux inside libnvidia-glcore.so #122
Comments
346.82 is a fairly old driver branch. It would be worth trying a newer one in case it's a driver bug. |
Could be, though I noticed there's a bit of a horror show in the framebuffer allocation code (left over from the Qt5 port) which surely needs cleanup. |
Ah, github has a new more reasonable attachment system, here's the files. |
Something super screwy is going on here. If I comment out the |
Commenting out all the code in |
There was a segfault with Nvidia driver 346.82, inside PointArray::drawPoints() after reloading a pair of files with the keyboard shortcut F5 (see #122). Commenting out the code associated with initializing the bounding box vertex array inside Geometry.cpp works around the segfault. However, it's not clear that this is the root cause and there was actually a bug in this part of the code. For now, refactor things to send the bounding box vertices to the GPU every frame in the hope that this will fix things. I suppose this is a bit inefficient, but the main point cloud data is already sent this way.
Or not. Try as I might, I can't see a problem with |
There was a segfault with Nvidia driver 346.82, inside PointArray::drawPoints() after reloading a pair of files with the keyboard shortcut F5 (see #122). Commenting out the code associated with initializing the bounding box vertex array inside Geometry.cpp works around the segfault. However, it's not clear that this is the root cause and there was actually a bug in this part of the code. For now, refactor things to send the bounding box vertices to the GPU every frame in the hope that this will fix things. I suppose this is a bit inefficient, but the main point cloud data is already sent this way.
There was a segfault with Nvidia driver 346.82, inside PointArray::drawPoints() after reloading a pair of files with the keyboard shortcut F5 (see #122). Commenting out the code associated with initializing the bounding box vertex array inside Geometry.cpp works around the segfault. However, it's not clear that this is the root cause and there was actually a bug in this part of the code. For now, refactor things to send the bounding box vertices to the GPU every frame in the hope that this will fix things. I suppose this is a bit inefficient, but the main point cloud data is already sent this way.
Oh gosh, I just discovered apitrace, why didn't I know about this before!?! OpenGL debugging just got about a thousand times easier! |
Should be fixed in #132 |
Fix confirmed, closing. |
As reported by Hans De Visser, loading a pair of files (too large to attach here), then pressing the refresh button causes an intermittent segfault.
Release build backtrace:
Debug and DebWithRelInfo build backtraces:
A bit odd - looks like the stack has been smashed in the last two, but not in Release mode.
Could be due to more leaking OpenGL state, as partly fixed in #113.
The text was updated successfully, but these errors were encountered: