[vtk-developers] Help with TestQtDebugLeaksView test failure

Jean-Christophe Fillion-Robin jchris.fillionr at kitware.com
Thu Apr 4 09:58:19 EDT 2013


As a side note, if doing Release builds, you don't have to build Qt
yourself. There are download of Qt 4.8.4 for VS2010.
See http://qt-project.org/downloads

Hth
Jc


On Thu, Apr 4, 2013 at 9:05 AM, Robert Maynard
<robert.maynard at kitware.com>wrote:

> 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
>
> _______________________________________________
> 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
>
>
>


-- 
+1 919 869 8849
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/vtk-developers/attachments/20130404/2d6d034a/attachment.html>


More information about the vtk-developers mailing list