[vtk-developers] Help with TestQtDebugLeaksView test failure
Robert Maynard
robert.maynard at kitware.com
Thu Apr 4 09:05:40 EDT 2013
It should be noted that my machine had compiled Qt 4.8.0 and had this same
problem. So the primary issue is VS2010 without SP1 installed looks to have
a bug when building Qt in Release mode with optimizations enabled.
A Qt bug also goes more in depth with this problem:
https://bugreports.qt-project.org/browse/QTBUG-11445
On Wed, Apr 3, 2013 at 11:02 PM, Pat Marion <pat.marion at kitware.com> wrote:
> I did some testing using a machine that Rob let me access, and I conclude
> that this machine, and the amber10 dashboard machine, both have issues with
> their Qt builds (win64 vs10). A trivial test program will crash if it
> shows a QTableView, and I found a relevant Qt bug report:
>
>
> "QListView, QTreeView and QTableView crash in x64 (64 bits) release mode
> VS2010 (VC++2010), using Qt compiled with win32-msvc2010 platform."
>
> https://bugreports.qt-project.org/browse/QTBUG-19175
>
> A comment on the bug report suggests this a solution: install Microsoft
> Visual Studio 2010 SP1 and rebuild Qt
>
>
> I think that this test, TestQtDebugLeaksView.cxx, is the only test running
> on amber10 that creates and shows a Qt widget. I found another VTK test,
> TestVtkQtTableView.cxx, but it does not appear to be enabled anywhere.
> Neither are the tests in GUISupport/Qt/Testing/Python (I think).
>
> I think a good next step would be:
>
> -switch vtk dashboard on amber10 to use
> c:\dashboards\support\qt-4.8.1-x64\bin
> -enable more Qt tests and see if any of them pass on amber10. The current
> Qt tests passing on amber10, such as TestQtTableModelAdapter, don't
> actually create any widgets.
> -install vs10 sp1 and rebuild Qt if that hasn't happened yet
>
> Can someone with local access to amber10 volunteer to try this?
>
> Pat
>
>
> On Wed, Apr 3, 2013 at 12:15 PM, Pat Marion <pat.marion at kitware.com>wrote:
>
>> An update- Rob Maynard is helping me investigate the issue. We're able
>> to reproduce the crash on another Windows machine, too. It requires a
>> release build to reproduce. Sorry for the failing test on the dashboard,
>> hopefully it won't be too much longer.
>>
>> Pat
>>
>>
>> On Fri, Mar 29, 2013 at 2:20 AM, David Cole <dlrdave at aol.com> wrote:
>>
>>> So sounds like the easy thing to do is to use Qt 4.8.1 on this machine.
>>> Do we need it to be Qt 4.7.4 for some reason?
>>>
>>>
>>>
>>>
>>> -----Original Message-----
>>> From: Pat Marion <pat.marion at kitware.com>
>>> To: Bill Lorensen <bill.lorensen at gmail.com>
>>> Cc: David Cole <dlrdave at aol.com>; VTK Developers <vtk-developers at vtk.org>;
>>> David Gobbi <david.gobbi at gmail.com>; Robert Maynard <
>>> robert.maynard at kitware.com>
>>> Sent: Thu, Mar 28, 2013 11:13 am
>>> Subject: Re: [vtk-developers] Help with TestQtDebugLeaksView test failure
>>>
>>>
>>> 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<http://www.kitware.com/opensource/opensource.html>
>>>
>>> Follow this link to subscribe/unsubscribe:
>>> http://www.vtk.org/mailman/**listinfo/vtk-developers<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<http://www.kitware.com/opensource/opensource.html>
>>>
>>> Follow this link to subscribe/unsubscribe:
>>> http://www.vtk.org/mailman/**listinfo/vtk-developers<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<http://www.kitware.com/opensource/opensource.html>
>>>
>>> Follow this link to subscribe/unsubscribe:
>>> http://www.vtk.org/mailman/**listinfo/vtk-developers<http://www.vtk.org/mailman/listinfo/vtk-developers>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> --
>>> Unpaid intern in BillsBasement at noware dot com
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>
>>
>
--
Robert Maynard
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/vtk-developers/attachments/20130404/f0735236/attachment.html>
More information about the vtk-developers
mailing list