[vtkusers] Display Error under Ubuntu 16.04

Andrea Borsic aborsic at ne-scientific.com
Wed Nov 16 14:03:34 EST 2016


Sorry for the many posts, just a last one with a further simplified 
example that removes the need for numpy and numpy conversions ...

Best Regards,

Andrea


On 11/16/2016 6:01 PM, Andrea Borsic wrote:
> I have further simplified the script (it still crashes under Ubuntu 
> and not under Windows)
>
> Best,
>
> Andrea
>
>
> On 11/16/2016 5:29 PM, Andrea Borsic wrote:
>> Thanks for your test.
>>
>> My hint to the problem is wrong though  - I have realized that MaxId 
>> is equal to size() - 1 and not NumberOfTuples() -1, so the MaxId 
>> shown by print() is correct.
>>
>> I will do some more digging,
>>
>> Best and thanks,
>>
>> Andrea
>>
>>
>> On 16/11/2016 17:13, Bill Lorensen wrote:
>>> I get the same error on my Ubuntu14.04 build.
>>>
>>> On Wed, Nov 16, 2016 at 10:38 AM, Andrea Borsic
>>> <aborsic at ne-scientific.com> wrote:
>>>> Hi All,
>>>>
>>>> Apologies for the long hiatus, but I would like to understand why 
>>>> the crash
>>>> I and Elvis are experiencing is occurring. I am half convinced it 
>>>> could be a
>>>> bug in the numpy support functions, and wanted to share my 
>>>> knowledge so far
>>>> in order to hear any possible feedback.
>>>>
>>>> I am attaching a new Python script, which is simpler and self 
>>>> contained now.
>>>> The script builds a vtkUnstructuredGrid with a single tetrahedra and
>>>> displays it. The script does not crash under Windows, but crashes 
>>>> under
>>>> Ubuntu 16.04 / VTK 7.1RC2 / OpenGL2
>>>>
>>>> The dataset has only 4 points and the only cell of the dataset (a
>>>> tetrahedra) is described by the list of nodes [0,1,2,3] to which is
>>>> pre-pended a "4" to indicate that 4 points describe the cell, the 
>>>> cell data
>>>> is therefore [4,0,1,2,3]. The cell data is automatically converted 
>>>> from
>>>> numpy to vtk using the vtk numpy support functions.
>>>>
>>>> Printing the VTK converted cell_data (line 47) shows the output 
>>>> attached
>>>> below:
>>>>
>>>> In the output the MaxId is 4, but the number of tuples is 1, 
>>>> shouldn't the
>>>> MaxId therefore be 0 (the shape of the array is (1,5) )? Can this 
>>>> be the
>>>> source of the problem ?
>>>>
>>>> Similarly if a (2x5) numpy array is converted to vtk with
>>>> vtk_np.numpy_to_vtkIdTypeArray, the resulting array has a MaxId of 
>>>> 9, which
>>>> in my opininion should be 1. I will dig some more into the
>>>> vtk_np.numpy_to_vtkIdTypeArray function ...
>>>>
>>>> Thanks for any comment,
>>>>
>>>> Best Regards,
>>>>
>>>> Andrea
>>>>
>>>>
>>>> Printing cell data
>>>> vtkIdTypeArray (000002C3420E7BE0)
>>>>    Debug: Off
>>>>    Modified Time: 54
>>>>    Reference Count: 1
>>>>    Registered Events: (none)
>>>>    Name: (none)
>>>>    Data type: idtype
>>>>    Size: 5
>>>>    MaxId: 4
>>>>    NumberOfComponents: 5
>>>>    Information: 0000000000000000
>>>>    Name: (none)
>>>>    Number Of Components: 5
>>>>    Number Of Tuples: 1
>>>>    Size: 5
>>>>    MaxId: 4
>>>>    LookupTable: (none)
>>>>    Array: 000002C342B0EA50
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> On 10/28/2016 4:39 PM, Andrea Borsic wrote:
>>>>> Hi Elvis,
>>>>>
>>>>> Thanks for testing this. Actually I started out on Ubuntu with 
>>>>> your Jumbo
>>>>> VTK package, and is it was throwing this error, I switched to 
>>>>> compiling from
>>>>> source - with the same result.
>>>>>
>>>>> Cheers,
>>>>>
>>>>> Andrea
>>>>>
>>>>>
>>>>>
>>>>>> I tested your example with the 7.1.0.rc1 build we use at work (also
>>>>>> Ubuntu 16.04), and I also get an X error, though a slightly 
>>>>>> different
>>>>>> one:
>>>>>>
>>>>>> X Error of failed request:  BadMatch (invalid parameter attributes)
>>>>>>     Major opcode of failed request:  154 (GLX)
>>>>>>     Minor opcode of failed request:  11 (X_GLXSwapBuffers)
>>>>>>     Serial number of failed request:  2141
>>>>>>     Current serial number in output stream:  2143
>>>>>>
>>>>>> I can confirm that commenting the interactor 
>>>>>> initialization/start, it
>>>>>> terminates OK.
>>>>>>
>>>>>> Haven't looked closer at what's happening, but just thought I should
>>>>>> share.
>>>>>>
>>>>>> For brevity, these are the flags we use when configuring our build:
>>>>>>
>>>>>>           -DCMAKE_INSTALL_PREFIX=/opt/VTK7 \
>>>>>>           -DVTK_Group_Qt=ON \
>>>>>>           -DVTK_QT_VERSION=5 \
>>>>>>           -DVTK_Group_Imaging=ON \
>>>>>>           -DVTK_Group_Views=ON \
>>>>>>           -DModule_vtkRenderingFreeTypeFontConfig=ON \
>>>>>>           -DVTK_WRAP_PYTHON=ON \
>>>>>>           -DVTK_PYTHON_VERSION=3 \
>>>>>>           -DPYTHON_EXECUTABLE=/usr/bin/python3 \
>>>>>>           -DPYTHON_INCLUDE_DIR=/usr/include/python3.5 \
>>>>>> -DPYTHON_LIBRARY=/usr/lib/$(DEB_HOST_MULTIARCH)/libpython3.5m.so \
>>>>>>           -DBUILD_TESTING=OFF \
>>>>>>           -DVTK_USE_SYSTEM_LIBRARIES=ON \
>>>>>>           -DVTK_USE_SYSTEM_LIBPROJ4=OFF \
>>>>>>           -DVTK_USE_SYSTEM_GL2PS=OFF \
>>>>>>           -DCMAKE_BUILD_TYPE=Release
>>>>>>
>>>>>> Elvis
>>>>>>
>>>>>>> Best Regards,
>>>>>>>
>>>>>>> Andrea
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On 27/10/2016 23:25, Ken Martin wrote:
>>>>>>>
>>>>>>> Hmm, well that means VTK's rendering engine is initializing OK and
>>>>>>> running.
>>>>>>> So it could be something specific to the python app. If you run 
>>>>>>> some of
>>>>>>> the
>>>>>>> python tests do they work? ala
>>>>>>>
>>>>>>> ctest -R Python -I ,,23
>>>>>>>
>>>>>>> thats runs 1/23rd of the python tests
>>>>>>>
>>>>>>> if those all pass then it must be something specific to your script
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Thu, Oct 27, 2016 at 5:16 PM, Andrea Borsic
>>>>>>> <aborsic at ne-scientific.com>
>>>>>>> wrote:
>>>>>>>> Hi Ken,
>>>>>>>>
>>>>>>>> The test seems to run fine, I am attaching below the output.
>>>>>>>>
>>>>>>>> Best Regards,
>>>>>>>>
>>>>>>>> Andrea
>>>>>>>>
>>>>>>>>
>>>>>>>> -----------------------
>>>>>>>>
>>>>>>>> andrea at i7-Desktop:/opt/VTK-7.1.0.rc1-bin$ sudo ctest -R VBOPLY -VV
>>>>>>>> UpdateCTestConfiguration  from
>>>>>>>> :/opt/VTK-7.1.0.rc1-bin/DartConfiguration.tcl
>>>>>>>> Parse Config file:/opt/VTK-7.1.0.rc1-bin/DartConfiguration.tcl
>>>>>>>>    Add coverage exclude regular expressions.
>>>>>>>>    Add coverage exclude: vtk.*TCLInit.cxx
>>>>>>>>    Add coverage exclude: vtk[^\.]+(Java|Python|Tcl).cxx
>>>>>>>>    Add coverage exclude: .*vtkOpenGLState.*
>>>>>>>>    Add coverage exclude: .*Testing.Cxx.*cxx
>>>>>>>>    Add coverage exclude: .*Testing.Cxx.*h
>>>>>>>>    Add coverage exclude: .*moc_.*cxx
>>>>>>>>    Add coverage exclude: .*/Rendering/OpenGL/vtkgl.*
>>>>>>>>    Add coverage exclude: .*/Utilities/.*
>>>>>>>>    Add coverage exclude: .*/ThirdParty/.*
>>>>>>>>    Add coverage exclude: .*vtkOpenGLPolyDataMapper.*
>>>>>>>> SetCTestConfiguration:CMakeCommand:/usr/bin/cmake
>>>>>>>> UpdateCTestConfiguration  from
>>>>>>>> :/opt/VTK-7.1.0.rc1-bin/DartConfiguration.tcl
>>>>>>>> Parse Config file:/opt/VTK-7.1.0.rc1-bin/DartConfiguration.tcl
>>>>>>>> Test project /opt/VTK-7.1.0.rc1-bin
>>>>>>>> Constructing a list of tests
>>>>>>>> Done constructing a list of tests
>>>>>>>> Checking test dependency graph...
>>>>>>>> Checking test dependency graph end
>>>>>>>> test 1551
>>>>>>>>       Start 1551: vtkRenderingOpenGL2Cxx-TestVBOPLYMapper
>>>>>>>>
>>>>>>>> 1551: Test command:
>>>>>>>> /opt/VTK-7.1.0.rc1-bin/bin/vtkRenderingOpenGL2CxxTests
>>>>>>>> "TestVBOPLYMapper" "-D" 
>>>>>>>> "/opt/VTK-7.1.0.rc1-bin/ExternalData//Testing"
>>>>>>>> "-T"
>>>>>>>> "/opt/VTK-7.1.0.rc1-bin/Testing/Temporary" "-V"
>>>>>>>>
>>>>>>>> "/opt/VTK-7.1.0.rc1-bin/ExternalData/Rendering/OpenGL2/Testing/Data/Baseline/TestVBOPLYMapper.png" 
>>>>>>>>
>>>>>>>> 1551: Test timeout computed to be: 3600
>>>>>>>> 1551: first render time: 0.132993
>>>>>>>> 1551: opengl version 4.5
>>>>>>>> 1551: interactive render time: 0.0166377
>>>>>>>> 1551: number of triangles: 871414
>>>>>>>> 1551: triangles per second: 5.2376e+07
>>>>>>>> 1551: <DartMeasurement name="ImageError"
>>>>>>>> type="numeric/double">0</DartMeasurement><DartMeasurement
>>>>>>>> name="BaselineImage"
>>>>>>>> type="text/string">Standard</DartMeasurement><DartMeasurement
>>>>>>>> name="WallTime" type="numeric/double">0.059715</DartMeasurement>
>>>>>>>> 1551: <DartMeasurement name="CPUTime"
>>>>>>>> type="numeric/double">0.037073</DartMeasurement>
>>>>>>>> 1/1 Test #1551: vtkRenderingOpenGL2Cxx-TestVBOPLYMapper ...   
>>>>>>>> Passed
>>>>>>>> 0.91 sec
>>>>>>>>
>>>>>>>> The following tests passed:
>>>>>>>>       vtkRenderingOpenGL2Cxx-TestVBOPLYMapper
>>>>>>>>
>>>>>>>> 100% tests passed, 0 tests failed out of 1
>>>>>>>>
>>>>>>>> Label Time Summary:
>>>>>>>> vtkRenderingOpenGL2    =   0.91 sec (1 test)
>>>>>>>>
>>>>>>>> Total Test time (real) =   0.97 sec
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On 27/10/2016 18:56, Ken Martin wrote:
>>>>>>>>
>>>>>>>> Can you try running ctest -R VBOPLY -VV and let us know the 
>>>>>>>> output?
>>>>>>>>
>>>>>>>> On Thu, Oct 27, 2016 at 12:46 PM, Andrea Borsic
>>>>>>>> <aborsic at ne-scientific.com> wrote:
>>>>>>>>> Dear All,
>>>>>>>>>
>>>>>>>>> I have successfully compiled VTK 7.0.0  under Ubuntu 16.04.1 
>>>>>>>>> LTS on a
>>>>>>>>> computer with the following hw configuration:
>>>>>>>>>
>>>>>>>>> Processor: Intel Core i7
>>>>>>>>>
>>>>>>>>> GPU: NVIDIA GTX Titan Black
>>>>>>>>>
>>>>>>>>> ---
>>>>>>>>>
>>>>>>>>> VTK has been configured for:
>>>>>>>>>
>>>>>>>>> OpenGL 2 back-end
>>>>>>>>>
>>>>>>>>> Use Qt 5.7
>>>>>>>>>
>>>>>>>>> Use OpenMP for SMP
>>>>>>>>>
>>>>>>>>> Wrap Python 3 (ver 3.5.2 on the system)
>>>>>>>>>
>>>>>>>>> ---
>>>>>>>>>
>>>>>>>>> A simple python script which displays an unstructured grid and 
>>>>>>>>> which
>>>>>>>>> works fine under Windows, opens (under Ubuntu) a rendering 
>>>>>>>>> window and
>>>>>>>>> crashes with the message below:
>>>>>>>>>
>>>>>>>>> X Error of failed request:  GLXBadDrawable
>>>>>>>>>     Major opcode of failed request:  154 (GLX)
>>>>>>>>>     Minor opcode of failed request:  11 (X_GLXSwapBuffers)
>>>>>>>>>     Serial number of failed request:  111
>>>>>>>>>     Current serial number in output stream:  111
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Do you have any hint about this? Should I try the RC 7.1 or 
>>>>>>>>> switch to
>>>>>>>>> the
>>>>>>>>> plain OpenGL back-end ?
>>>>>>>>>
>>>>>>>>> Thanks in advance for any suggestion,
>>>>>>>>>
>>>>>>>>> Best Regards,
>>>>>>>>>
>>>>>>>>> Andrea
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> 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
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> -- 
>>>>>>>> Ken Martin PhD
>>>>>>>> Chairman & CFO
>>>>>>>> Kitware Inc.
>>>>>>>> 28 Corporate Drive
>>>>>>>> Clifton Park NY 12065
>>>>>>>> 518 371 3971
>>>>>>>>
>>>>>>>> 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.
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>> -- 
>>>>>>> Ken Martin PhD
>>>>>>> Chairman & CFO
>>>>>>> Kitware Inc.
>>>>>>> 28 Corporate Drive
>>>>>>> Clifton Park NY 12065
>>>>>>> 518 371 3971
>>>>>>>
>>>>>>> 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.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> 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
>>>>
>>>>
>>>> _______________________________________________
>>>> 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
>
>
>
> _______________________________________________
> 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/20161116/73ceb3d4/attachment.html>
-------------- next part --------------

import time
import vtk

# manually generate a vtkUnstructuredGrid with a single tetrahedra

# generate 4 points in space for forming a tetrahedra
pts = vtk.vtkPoints()

pts.InsertNextPoint(0.0, 0.0, 0.0)
pts.InsertNextPoint(0.0, 0.0, 1.0)
pts.InsertNextPoint(0.0, 1.0, 0.0)
pts.InsertNextPoint(1.0, 0.0, 0.0)

# generate the list of Ids [0,1,2,3] representing the tetrahedra
idList = vtk.vtkIdList()
idList.InsertNextId(0)
idList.InsertNextId(1)
idList.InsertNextId(2)
idList.InsertNextId(3)

cells = vtk.vtkCellArray()
cells.InsertNextCell(idList)

# create an vtkUnstructuredGrid from the vtkPoints and vtkCellArray
dataset = vtk.vtkUnstructuredGrid()
dataset.SetPoints(pts)
dataset.SetCells(vtk.VTK_TETRA, cells)                       

# display now the dataset

# use a mapper
mapper = vtk.vtkDataSetMapper()
mapper.SetInputData(dataset)            
        
# actor
actor = vtk.vtkActor()
actor.SetMapper(mapper)            
actor.GetProperty().SetRepresentationToWireframe()

# renderer        
ren = vtk.vtkRenderer()                
ren.AddActor(actor)
        
# render window
renWin = vtk.vtkRenderWindow() # save ref, so that we can start an interactor at a later time
renWin.AddRenderer(ren)
renWin.SetSize(600,600)
renWin.SetPosition(600,250)
renWin.Render()

 # setup the interactor
interactor = vtk.vtkRenderWindowInteractor()
interactor.SetRenderWindow(renWin)

# DISPLAY THE DATASET FOR 2sec BEFORE STARTING THE INTERACTOR (WHICH WILL CRASH THE SCRIPT)
time.sleep(2)

####################### NOTE ###############################
# IF BOTH NEXT LINES ARE COMMENTED THE SCRIPT WILL NOT CRASH
interactor.Initialize()
interactor.Start()

print("Terminated OK")



More information about the vtkusers mailing list