<div dir="ltr"><div><div>Hi all,<br><br></div>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.<br><br></div><div>HTH,<br></div>Shawn<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Sep 8, 2015 at 9:32 AM, Marcin Krotkiewski <span dir="ltr"><<a href="mailto:marcin.krotkiewski@gmail.com" target="_blank">marcin.krotkiewski@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  
    
  
  <div bgcolor="#FFFFFF" text="#000000">
    Hi, Ken,<br>
    <br>
    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).<br>
    <br>
    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. <br>
    <br>
    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.<br>
    <br>
    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.<br>
    <br>
    Let me know if you need more information - I will gladly work
    towards fixing this.<span class="HOEnZb"><font color="#888888"><br>
    <br>
    Marcin</font></span><div><div class="h5"><br>
    <br>
    <br>
    <br>
    <div>On 09/08/2015 02:47 PM, Ken Martin
      wrote:<br>
    </div>
    <blockquote type="cite">
      
      
      
      <div>
        <p class="MsoNormal"><a name="14fad28508b63026__MailEndCompose"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">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.</span></a></p>
        <p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"> </span></p>
        <p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Thanks</span></p>
        <p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Ken</span></p>
        <p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"> </span></p>
        <div>
          <p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Ken
              Martin PhD</span></p>
          <p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Chairman
              & CFO</span></p>
          <p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Kitware
              Inc.</span></p>
          <p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">28
              Corporate Drive</span></p>
          <p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Clifton
              Park NY 12065</span></p>
          <p class="MsoNormal"><a href="mailto:ken.martin@kitware.com" target="_blank"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif"">ken.martin@kitware.com</span></a><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"></span></p>
          <p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">919
              869-8871 (w)</span></p>
          <p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"> </span></p>
          <p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"> </span></p>
          <p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">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.</span></p>
        </div>
        <p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"> </span></p>
        <div>
          <div style="border:none;border-top:solid #b5c4df 1.0pt;padding:3.0pt 0in 0in 0in">
            <p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:windowtext">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:windowtext">
                vtkusers [mailto:<a href="mailto:vtkusers-bounces@vtk.org" target="_blank">vtkusers-bounces@vtk.org</a>]
                <b>On Behalf Of </b>Jens Schmidt<br>
                <b>Sent:</b> Monday, September 7, 2015 12:53 PM<br>
                <b>To:</b> marcin.krotkiewski; VTK Users<br>
                <b>Subject:</b> Re: [vtkusers] segfault with Opengl2 in
                6.3.0.rc2</span></p>
          </div>
        </div>
        <p class="MsoNormal"> </p>
        <p class="MsoNormal" style="margin-bottom:12.0pt">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.<br>
          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).<br>
          Also the jvm crashes when running everything on "real"
          hardware (Intel HD Graphics 4600) instead of a virtual
          machine. <br>
          Unfortunately i cannot access the logs right now (vacation) if
          this still is an issue after, i happily provide any logs you
          desire :-)<br>
          Just wanted to let you know, keep up the good work!<br>
          <br>
          <br>
          i also have segfaults with the opengl2 backend on linux
          (debian jessie) running on virtualbox.<br>
          <br>
        </p>
        <div>
          <p class="MsoNormal">Am 05.09.2015 um 21:32 schrieb
            marcin.krotkiewski:</p>
        </div>
        <blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
          <p class="MsoNormal">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. <br>
            <br>
            On my laptop, the segfaults are 100 reproducible with mesa
            library - some lines from glxinfo: <br>
            <br>
            <br>
            OpenGL renderer string: Mesa DRI Intel(R) Haswell Mobile <br>
            OpenGL core profile version string: 3.3 (Core Profile) Mesa
            10.1.3 <br>
            OpenGL core profile shading language version string: 3.30 <br>
            <br>
            <br>
            When I use the high performance card (fglrx drivers,  Radeon
            HD 8790M) the segfaults sometimes happen, sometimes not.
            Lines from glxinfo: <br>
            <br>
            <br>
            OpenGL vendor string: Advanced Micro Devices, Inc. <br>
            OpenGL renderer string: AMD Radeon HD 8790M <br>
            OpenGL core profile version string: 4.3.13374 Core Profile
            Context 15.20.1013 <br>
            OpenGL core profile shading language version string: 4.40 <br>
            <br>
            <br>
            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: <br>
            <br>
            <br>
            ERROR: In
            /home/angainor/bergverk/vtk/VTK-6.3.0.rc2/Rendering/OpenGL2/vtkOpenGLRenderWindow.cxx,
            line 412 <br>
            vtkXOpenGLRenderWindow (0x7f110429aa90): GLEW could not be
            initialized. <br>
            <br>
            <br>
            And this is the top of the stack reported by the dying Java
            VM <br>
            <br>
            <br>
            R11=0x00007fcbd8a79840: <offset 0x72840> in
            /usr/lib/fglrx/libGL.so.1 at 0x00007fcbd8a07000 <br>
            <br>
            Stack: [0x00007fcbb94e4000,0x00007fcbb95e5000],
            sp=0x00007fcbb95e1148,  free space=1012k <br>
            Java frames: (J=compiled Java code, j=interpreted, Vv=VM
            code) <br>
            j  vtk.vtkRenderWindow.Render_9()V+0 <br>
            j  vtk.vtkRenderWindow.Render()V+1 <br>
            j  vtk.vtkPanel.Render()V+164 <br>
            j  vtk.vtkPanel.paint(Ljava/awt/Graphics;)V+1 <br>
            <br>
            [...] <br>
            <br>
            <br>
            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. <br>
            <br>
            Cheers, <br>
            <br>
            Marcin <br>
            <br>
            <br>
            <br>
            <br>
          </p>
          <pre>_______________________________________________</pre>
          <pre>Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a></pre>
          <pre> </pre>
          <pre>Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a></pre>
          <pre> </pre>
          <pre>Please keep messages on-topic and check the VTK FAQ at: <a href="http://www.vtk.org/Wiki/VTK_FAQ" target="_blank">http://www.vtk.org/Wiki/VTK_FAQ</a></pre>
          <pre> </pre>
          <pre>Search the list archives at: <a href="http://markmail.org/search/?q=vtkusers" target="_blank">http://markmail.org/search/?q=vtkusers</a></pre>
          <pre> </pre>
          <pre>Follow this link to subscribe/unsubscribe:</pre>
          <pre><a href="http://public.kitware.com/mailman/listinfo/vtkusers" target="_blank">http://public.kitware.com/mailman/listinfo/vtkusers</a></pre>
        </blockquote>
        <p class="MsoNormal"> </p>
      </div>
    </blockquote>
    <br>
  </div></div></div>

<br>_______________________________________________<br>
Powered by <a href="http://www.kitware.com" rel="noreferrer" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" rel="noreferrer" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
<br>
Please keep messages on-topic and check the VTK FAQ at: <a href="http://www.vtk.org/Wiki/VTK_FAQ" rel="noreferrer" target="_blank">http://www.vtk.org/Wiki/VTK_FAQ</a><br>
<br>
Search the list archives at: <a href="http://markmail.org/search/?q=vtkusers" rel="noreferrer" target="_blank">http://markmail.org/search/?q=vtkusers</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://public.kitware.com/mailman/listinfo/vtkusers" rel="noreferrer" target="_blank">http://public.kitware.com/mailman/listinfo/vtkusers</a><br>
<br></blockquote></div><br></div>