-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Segmentation fault (core dumped) #2357
Comments
Seems to be opengl related. Can workaround it with...
Alternatively, as per the FAQ, |
Sounds like a duplicate of #2041. Are we talking about Windows? Which OpenSCAD version? If yes, please share the info from the Event Viewer. |
Linux 4.15 running on an old HP 6715s laptop which has...
Graphics driver is Output of OpenSCAD versions 2015.03.03 and 20180324. |
|
@t-paul if you feed me some info on what info you want in an issue I can add it to the pinned post. |
@MichaelAtOz Good idea, maybe just link this FAQ entry? That way we need to update just one place if we want to improve the text. |
@t-paul @MichaelAtOz your recent comments make me think some github guidelines etc would be helpful, so I've created issue #2364 for some further discussion. |
Regarding the questions...
I guess I should have RTFW before opening this issue. Sorry. |
Backtrace of the crash...
|
I have looked deeper into the code regarding this segfault. I found that it is the ATI driver for old (2006 in my case) graphics cards in combination with mesa that triggers this error. Library info from OpenSCAD: OPENSCAD_FONT_PATH: Using QGLWidget GL Extensions: My two breakpoints for debugging with GDB: Breakpoint 15, llvm_pipeline_generic (middle=0x555555ddd370, fetch_info=fetch_info@entry=0x7fffffffaa00, The backtrace just before hitting the function that triggers the segfault: The function inside mesa library that triggers segfault: assert(fetch_info->count > 0); if (fetch_info->linear) { /* Finished with fetch and vs: if ((opt & PT_SHADE) && gshader) {
} else {
}
} /* stream output needs to be done before clipping */ draw_stats_clipper_primitives(draw, prim_info); /*
} This line will segfault deep deep inside mesa library: I cannot see how to trace inside jit_func , but somebody may seek deeper in mesa... anyway this segfault seems to be in mesa so older hardware with ATI drivers combined with mesa doesn't work - e.g: GL Renderer: llvmpipe with mesa and ATI works though. So a conclusion all in all as I see it: - the bug is most probably a mesa bug with X.Org R300 Project for the GL Renderer : ATI RSnnn. /Henrik |
thanks @henwist i have seen this happen too... i think we should explore the idea of blacklist that auto-switches to software rendering for certain cards (on windows QT this can be done also with QT_ANGLE_PLATFORM=warp , on linux at the least LIBGL_ALWAYS_SOFTWARE=1 ) .. |
Perhaps a preference the user could change, like Force Goldfeather. That way it doesn't need a new addition to the blacklist each time a user comes across a problem. They can just flip the switch to see if software rendering fixes it. |
thats a good point however this type of error can crash OpenSCAD on startup so the user doesnt have a chance to see any switch they can flip, it just crashes without explanation. |
Perhaps an environment variable to force it on? |
a program should never crash on startup. this is why web browsers and other projects have 'blacklists' of GPUs where they force software rendering (the user can try to use the terrible drivers if they want by overriding the blacklist) https://groups.google.com/a/chromium.org/forum/#!topic/chromium-dev/AQNCH7plJe4 |
Closing as driver bug. If someone wants to play with blacklisting, we can open a feature request for that. |
The following code causes openscad (both git and release versions) to segfault...
Regardless of the correctness of the above code, openscad should handle it gracefully and not segfault.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
The text was updated successfully, but these errors were encountered: