[vtkusers] segfault with Opengl2 in 6.3.0.rc2

Shawn Waldon shawn.waldon at kitware.com
Tue Sep 8 11:26:01 EDT 2015


Hi all,

Just my 2 cents:  the OpenGL2 backend not working in virtualbox is a known
issue (at least to the build machine folks here at Kitware).  VirtualBox
doesn't support OpenGL 2 (or 3.2, not sure) in it's drivers so you while
you can build the OpenGL2 backend, you can't test it.  If you are using
Mesa, be aware that while working on the OpenGL2 backend, Ken found and
reported a bug in Mesa.  It was fixed by the Mesa developers, but you will
need a very recent (since April or May) version of Mesa for everything to
work correctly.

HTH,
Shawn

On Tue, Sep 8, 2015 at 9:32 AM, Marcin Krotkiewski <
marcin.krotkiewski at gmail.com> wrote:

> Hi, Ken,
>
> I have found two issues here. First, I think the vtk.sample.VTKCanvas
> example (on which I based my simplified code) might be wrong because it
> does not call frame.setVisible in EDT. From what I have seen in other
> examples frame.setVisible should be called from InvokeLater. Note that
> there are other places in Java examples where JFrame.setVisible is called
> _NOT_ from within InvokeLater. If this is an error, it might be a good idea
> to fix this.. At least for me changing this partly fixed the problem, i.e.,
> the error was more difficult for me to get in the example, but not in my
> real code, where frame.setVisible is called from EDT  (I am _almost_
> certain of this, as I call Java indirectly from MATLAB, and I do use
> MATLABs EDT framework).
>
> Hunting the real problem, I have already mentioned that I got error from
> glewInit. Writing out the reason for the error gave me 'Missing GL
> version'. I am no expert in OpenGL, so I googled around and understood that
> this might mean that glewInit was called before OpenGL context was created.
> Due to this fact glew was not initialized and the code segfaulted on call
> to glBlendFuncSeparate in OpenGLInitState due to the address being NULL.
>
> This made me experiment with vtkOpenGLRenderWindow and
> vtkXOpenGLRenderWindow. I have found that from 6.2 you have changed the
> initialization in vtkXOpenGLRenderWindow::CreateAWindow. In particular, you
> have added the if statement after '// try for 32 context'. Being desperate
> I have commented out the entire if(this->internal->fbconfig)  statement.
> This worked for me, i.e., I did not manage to get a glewInit error after
> the change. Neither in my code, nor in the VTKCanvas sample.
>
> I do not know exactly what this code does, but it might need a second
> look. From the observed behavior it was very much like a race condition: I
> was getting the glewInit 'Missing GL version' condition sometimes, but not
> always. Of course, this might mean that commenting out those lines does not
> fix anything, just hides the problem.
>
> Let me know if you need more information - I will gladly work towards
> fixing this.
>
> Marcin
>
>
>
>
> On 09/08/2015 02:47 PM, Ken Martin wrote:
>
> Can either of you verify that the VTK C++ tests work on the system? E.g.
> ctest –R Mace passes?  Just trying to see if this is a general system/VM
> issue or tied specifically to Java/OpenGL2 interactions.
>
>
>
> Thanks
>
> Ken
>
>
>
> Ken Martin PhD
>
> Chairman & CFO
>
> Kitware Inc.
>
> 28 Corporate Drive
>
> Clifton Park NY 12065
>
> ken.martin at kitware.com
>
> 919 869-8871 (w)
>
>
>
>
>
> This communication, including all attachments, contains confidential and
> legally privileged information, and it is intended only for the use of the
> addressee.  Access to this email by anyone else is unauthorized. If you are
> not the intended recipient, any disclosure, copying, distribution or any
> action taken in reliance on it is prohibited and may be unlawful. If you
> received this communication in error please notify us immediately and
> destroy the original message.  Thank you.
>
>
>
> *From:* vtkusers [mailto:vtkusers-bounces at vtk.org] *On Behalf Of *Jens
> Schmidt
> *Sent:* Monday, September 7, 2015 12:53 PM
> *To:* marcin.krotkiewski; VTK Users
> *Subject:* Re: [vtkusers] segfault with Opengl2 in 6.3.0.rc2
>
>
>
> To chime in, the jvm (1.8.60) crashes on debian jessie (virtualbox) when
> using the opengl2 rendering backend (vtk 6.3.0rc1 and rc2) and the
> swtComponent. The old OpenGL works fine.
> When not using virtualbox's 3d accelleration the window wont even open.
> When activating the 3d accelleration you get a window but as soon as you
> add some actors and call update it crashes (some of the time).
> Also the jvm crashes when running everything on "real" hardware (Intel HD
> Graphics 4600) instead of a virtual machine.
> Unfortunately i cannot access the logs right now (vacation) if this still
> is an issue after, i happily provide any logs you desire :-)
> Just wanted to let you know, keep up the good work!
>
>
> i also have segfaults with the opengl2 backend on linux (debian jessie)
> running on virtualbox.
>
> Am 05.09.2015 um 21:32 schrieb marcin.krotkiewski:
>
> I keep getting segfaults when using vtk.sample.VTKCanvas with OpenGL2
> backend in 6.3.0.rc2. This does not happen with 6.2.0 + OpenGL2, nor with
> the standard OpenGL backend. I use ubuntu 14.04 and compile with gcc 4.9.2
> and jdk1.8.0_60.
>
> On my laptop, the segfaults are 100 reproducible with mesa library - some
> lines from glxinfo:
>
>
> OpenGL renderer string: Mesa DRI Intel(R) Haswell Mobile
> OpenGL core profile version string: 3.3 (Core Profile) Mesa 10.1.3
> OpenGL core profile shading language version string: 3.30
>
>
> When I use the high performance card (fglrx drivers,  Radeon HD 8790M) the
> segfaults sometimes happen, sometimes not. Lines from glxinfo:
>
>
> OpenGL vendor string: Advanced Micro Devices, Inc.
> OpenGL renderer string: AMD Radeon HD 8790M
> OpenGL core profile version string: 4.3.13374 Core Profile Context
> 15.20.1013
> OpenGL core profile shading language version string: 4.40
>
>
> I have attached a simplified java code based on VTKCanvas - In my
> experience this one segfaults always, both with mesa, and with Radeon
> drivers. I get the following line before vtk dies:
>
>
> ERROR: In
> /home/angainor/bergverk/vtk/VTK-6.3.0.rc2/Rendering/OpenGL2/vtkOpenGLRenderWindow.cxx,
> line 412
> vtkXOpenGLRenderWindow (0x7f110429aa90): GLEW could not be initialized.
>
>
> And this is the top of the stack reported by the dying Java VM
>
>
> R11=0x00007fcbd8a79840: <offset 0x72840> in /usr/lib/fglrx/libGL.so.1 at
> 0x00007fcbd8a07000
>
> Stack: [0x00007fcbb94e4000,0x00007fcbb95e5000], sp=0x00007fcbb95e1148,
> free space=1012k
> Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
> j  vtk.vtkRenderWindow.Render_9()V+0
> j  vtk.vtkRenderWindow.Render()V+1
> j  vtk.vtkPanel.Render()V+164
> j  vtk.vtkPanel.paint(Ljava/awt/Graphics;)V+1
>
> [...]
>
>
> It seems that this is a problem specific to 6.3.0.rc2 with OpenGL2. I
> could not reproduce it for 6.2.0, nor when using OpenGL backend. Do you
> know any reason why this could happen? I will be happy to provide more
> information and help to solve this.
>
> Cheers,
>
> Marcin
>
>
>
>
> _______________________________________________
>
> Powered by www.kitware.com
>
>
>
> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
>
>
>
> Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ
>
>
>
> Search the list archives at: http://markmail.org/search/?q=vtkusers
>
>
>
> Follow this link to subscribe/unsubscribe:
>
> http://public.kitware.com/mailman/listinfo/vtkusers
>
>
>
>
>
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Please keep messages on-topic and check the VTK FAQ at:
> http://www.vtk.org/Wiki/VTK_FAQ
>
> Search the list archives at: http://markmail.org/search/?q=vtkusers
>
> Follow this link to subscribe/unsubscribe:
> http://public.kitware.com/mailman/listinfo/vtkusers
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/vtkusers/attachments/20150908/98f1bb4a/attachment.html>


More information about the vtkusers mailing list