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
Ubuntu 16.10 segmentation fault when plater is displayed on 1.3.0-dev #3540
Comments
Thanks for any help! |
I have exact the same Problem, but with Ubuntu 16.04 and Nvidia driver 370.28. |
Thanks for following up; I'd go back a version of the driver, but I believe there's a bug with the NVidia drivers on 16.10 prior to this version. It's weird how the precompiled version works. |
If i comment in file /lib/Slic3r/GUI/3DScene.pm line 762 out, it will crash at line 774 where a similar code is: glDrawArrays(GL_LINES, 0, $self->bed_grid_lines->elements /3); |
I do not know anything about OpenGL-programming, but i did a litte search on the web and found this statement: So i enabled lines 762 and 774 and disabled lines 758 and 772 (glEnableClientState(GL_VERTEX_ARRAY) ) and slic3r starts with plater without any problem. That's all i can do. Perhaps someone with opengl-programming-skills can have a look at it. |
It is difficult to give you any advice. If you could get the stack trace of You can also try the pre-built Prusa3D release, but with Linux there may be https://github.com/prusa3d/Slic3r/releases/tag/version_1.30.0 On Fri, Oct 21, 2016 at 2:04 AM, mloebl notifications@github.com wrote:
|
Having a similar issue, stack trace looks like this:
|
I am having the same issue with an intel card. I was on 16.04, and thought perhaps that was responsible, so I moved to 16.10 - same result.
|
Having built Slic3r recently, I also faced this problem on Arch Linux. I believe this is related to the recent update of the Perl OpenGL module and is specific to the i915 Intel driver. A temporary solution would be to downgrade the module. I'm soon going to open a pull request to fix this. |
I had the same issue on windows trying to build with strawberry perl's mingw 64 bit.
If you try to |
@flannelhead's solution worked for me as well. Thank you! |
@flannelhead it's not specific to the intel driver, I can reproduce it on Debian with the nvidia proprietary driver. The first call that causes a crash is one to glDrawArrays around line 760 in 3DScene.pm. This is just the symptom though; I'm researching OpenGL.pm-0.70 to figure out what might be going on; it's been a long time since I've actively worked with OpenGL. Odds are that the array that should be referenced by the call to glVertexPointer_p (which looks like a wrapper function to glVertexPointer, used to provide the correct typing) isn't giving us the a real array to copy. I grabbed the source for OpenGL.pm-0.70 and fwiw its test suite does run, so there's some thing usage-related that has changed (I suspect). |
Currently running a git bisect with OpenGL.pm to see what changed to break things. |
Looks like commit e7bf734b1295e6196675c40374f963df6b6f9513 in OpenGL.pm is the first one that breaks things, which changed several bind calls. I am unsure at present what (if anything) Slic3r is doing wrong. Here's the diff:
|
I did some poking around in test.pl from OpenGL.pm and noticed that the classic vertex buffers is never tested if VBOs are available. If I forced detection of VBO availability to false, it also segfaults. Joy. |
I've reported this upstream. On our side we could probably rewrite the affected code to not use glCreateVertex_p |
I've narrowed down the problematic call to generating the base plate (for some reason) and grid. I've modified those to use Vertex Buffer Objects instead of the way it was done before. There's still some bugs in it, the cut dialog causes a segfault, probably something related to line drawing. |
Alright, referenced PR should completely resolve this now. |
Merged, thank you everybody a lot for report, investigation and fix! (especially thanks to @lordofhyphens) |
Version
1.3.0-dev
Git describe:
1.2.9-367-g8910b49
Operating system type + version
Ubuntu 16.10 x64
Behavior
App::cpanminus is up to date. (1.7042)
Class::Accessor is up to date. (0.34)
Growl::GNTP is up to date. (0.21)
LWP::UserAgent is up to date. (6.15)
Net::Bonjour is up to date. (0.96)
OpenGL is up to date. (0.70)
Socket is up to date. (2.024)
Wx is up to date. (0.9928)
Wx::GLCanvas is up to date. (0.09)
This is where it segfaults
The text was updated successfully, but these errors were encountered: