[vtk-developers] Help with TestQtDebugLeaksView test failure

Pat Marion pat.marion at kitware.com
Thu Mar 28 11:13:04 EDT 2013


I was able to login to amber10 and debug the issue further, but have not
resolved it yet.  Here's what I've found:

- what Kyle originally reported seems to not be true.  The program will
segfault when called in the command line, you don't have to call it through
ctest to make it crash

- if you prepend the path with c:\dashboards\support\qt-4.8.1-x64\bin then
the program completes successfully without crashing.  It only crashes when
using qt-4.7.4 on the path.

- it crashes on line 156 in vtkQtDebugLeaksView.cxx when making the Qt
library call QTableView::resizeColumnsToContents().

- this crash is eerily similar to one I have seen in the past in QTableView
on certain versions of Qt on Windows, and it's near impossible to debug.
Sigh.


Rob, if you could use vs10 on amber10 to collect a debug backtrace for this
program, that would be helpful to verify that the crash is actually inside
the QtGui library.  I had trouble figuring out how to launch the
vtkGUISupportQtCxxTests.exe.exe program from within vs10.  It complained
about a missing dll which means I wasn't setting the qt path correctly for
the vs10 debugging session.

You can run the test and reproduce the crash with:

cd C:\Dashboards\My Tests\VTK-vs10
PATH=c:\dashboards\support\qt-4.7.4-x64\bin;%PATH%
bin\Release\vtkGUISupportQtCxxTests.exe TestQtDebugLeaksView

or

ctest -V -C Release -R TestQtDebugLeaksView


If someone wants to push a commit that removes the one line that calls
resizeColumnsToContents() then that will avoid the crash on amber10 and
make the test pass.  Resizing the columns is not required, it's just for
appearances.  Or, another way to avoid the crash seems to be setting
amber10 to use the qt 4.8.1 install.  Or disable this test on amber10.
>From what I can tell, the bug is in Qt's QTableView for Windows.  The bug
could be exposed by an incorrect usage of the QTableView on my part, but it
works on all other platforms, and also works with qt 4.8.1 on the same
machine.

Sorry for the failing test and lack of clear resolution.  When this code
was originally added, the test passed on all dashboard machines, but I'm
not sure what the history is of the failure on amber10's vs10 dashboard.

Pat

On Thu, Mar 28, 2013 at 3:37 PM, Pat Marion <pat.marion at kitware.com> wrote:

> I'd be happy to help, but I don't have access to that machine.  I tried
> vnc but it doesn't seem to have a vnc server running.  I could try remote
> desktop if somebody says that's ok, but I don't want to log out the
> dashboard session by accident.
>
> Pat
>
>
> On Thu, Mar 28, 2013 at 1:54 PM, Bill Lorensen <bill.lorensen at gmail.com>wrote:
>
>> Pat,
>>
>> Maybe you can help. It is one of the few tests that are failing (after we
>> clear up newly introduced failures).
>>
>> Bill
>>
>>
>> On Wed, Mar 27, 2013 at 5:27 PM, Pat Marion <pat.marion at kitware.com>wrote:
>>
>>> Hi Kyle,
>>>
>>> Did you discover the issue?  I'm the original test author, but I'm not
>>> sure about this crash.  Did you try what Dave suggested, set the PATH env
>>> variable before running the process?  Perhaps there are mismatched Qt
>>> library versions?  I have seen cases of crashes when a Windows service pack
>>> update is installed but the Qt libs are not recompiled.
>>>
>>> Pat
>>>
>>> On Fri, Mar 22, 2013 at 1:08 AM, David Cole <dlrdave at aol.com> wrote:
>>>
>>>>  Also, the script has this in it:
>>>>
>>>> # change path so paraview can find Qt
>>>> set(ENV{PATH} "C:/Python26\;C:/Dashboards/Support/qt-4.7.4-x64/bin\;$ENV{PATH}”)
>>>>
>>>> Try doing that before running the test and see if that makes a
>>>> difference.
>>>>
>>>>
>>>>  *From:* David Gobbi
>>>> *Sent:* March 21, 2013 10:55 AM
>>>>
>>>> *To:* Kyle Lutz
>>>> *CC:* VTK Developers
>>>> *Subject:* Re: [vtk-developers] Help with TestQtDebugLeaksView test
>>>> failure
>>>>
>>>> On Thu, Mar 21, 2013 at 8:49 AM, Kyle Lutz <kyle.lutz at kitware.com>
>>>> wrote:
>>>> > On Thu, Mar 21, 2013 at 10:36 AM, David Cole <dlrdave at aol.com> wrote:
>>>> >> Run it through ctest, but add “-D ExperimentalTest” on the command
>>>> line and
>>>> >> see if that makes a difference...
>>>> >
>>>> > No difference :-(
>>>> >
>>>> > Here's the full output:
>>>> >
>>>> > C:\Dashboards\My Tests\VTK-vs10>ctest -R TestQtDebugLeaks -C Release
>>>> -D Experime
>>>> > ntalTest -V
>>>> > UpdateCTestConfiguration  from :C:/Dashboards/My
>>>> Tests/VTK-vs10/DartConfiguratio
>>>> > n.tcl
>>>> > Parse Config file:C:/Dashboards/My
>>>> Tests/VTK-vs10/DartConfiguration.tcl
>>>> >    Site: amber10.kitware
>>>> >    Build name: Win64-VS10
>>>> >  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: .*/Utilities/.*
>>>> >  Add coverage exclude: .*/ThirdParty/.*
>>>> > UpdateCTestConfiguration  from :C:/Dashboards/My
>>>> Tests/VTK-vs10/DartConfiguratio
>>>> > n.tcl
>>>> > Parse Config file:C:/Dashboards/My
>>>> Tests/VTK-vs10/DartConfiguration.tcl
>>>> > Test project C:/Dashboards/My Tests/VTK-vs10
>>>> > Constructing a list of tests
>>>> > Done constructing a list of tests
>>>> > Checking test dependency graph...
>>>> > Checking test dependency graph end
>>>> > test 690
>>>> >     Start 690: vtkGUISupportQtCxx-TestQtDebugLeaksView
>>>> >
>>>> > 690: Test command: "C:\Dashboards\My
>>>> Tests\VTK-vs10\bin\Release\vtkGUISupportQtC
>>>> > xxTests.exe" "TestQtDebugLeaksView" "-D" "c:/Dashboards/My
>>>> Tests/VTKData" "-T" "
>>>> > C:/Dashboards/My Tests/VTK-vs10/Testing/Temporary" "-V"
>>>> "Baseline/QVTK/TestQtDeb
>>>> > ugLeaksView.png"
>>>> > 690: Test timeout computed to be: 240
>>>> > 690: Expect a warning message to be printed:
>>>> > 690: vtkQtDebugLeaksModel::getObjects: bad class name: "vtkConeSource"
>>>> > 1/1 Test #690: vtkGUISupportQtCxx-TestQtDebugLeaksView
>>>> ...***Exception: SegFault
>>>> >   0.06 sec
>>>> >
>>>> > 0% tests passed, 1 tests failed out of 1
>>>> >
>>>> > Total Test time (real) =   1.29 sec
>>>> >
>>>> > The following tests FAILED:
>>>> >         690 - vtkGUISupportQtCxx-TestQtDebugLeaksView (SEGFAULT)
>>>> > Errors while running CTest
>>>>
>>>> Can you insert a long "Sleep" near the beginning of the test, run the
>>>> test with ctest, and then attach a debugger to the process while it is
>>>> sleeping?
>>>>
>>>>  - David
>>>> _______________________________________________
>>>> Powered by www.kitware.com
>>>>
>>>> Visit other Kitware open-source projects at
>>>> http://www.kitware.com/opensource/opensource.html
>>>>
>>>> Follow this link to subscribe/unsubscribe:
>>>> http://www.vtk.org/mailman/listinfo/vtk-developers
>>>>
>>>>
>>>> _______________________________________________
>>>> Powered by www.kitware.com
>>>>
>>>> Visit other Kitware open-source projects at
>>>> http://www.kitware.com/opensource/opensource.html
>>>>
>>>> Follow this link to subscribe/unsubscribe:
>>>> http://www.vtk.org/mailman/listinfo/vtk-developers
>>>>
>>>>
>>>>
>>>
>>> _______________________________________________
>>> Powered by www.kitware.com
>>>
>>> Visit other Kitware open-source projects at
>>> http://www.kitware.com/opensource/opensource.html
>>>
>>> Follow this link to subscribe/unsubscribe:
>>> http://www.vtk.org/mailman/listinfo/vtk-developers
>>>
>>>
>>>
>>
>>
>> --
>> Unpaid intern in BillsBasement at noware dot com
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/vtk-developers/attachments/20130329/b9254560/attachment.html>


More information about the vtk-developers mailing list