[vtk-developers] Help with TestQtDebugLeaksView test failure

David Cole dlrdave at aol.com
Thu Mar 28 12:20:48 EDT 2013


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

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







  



More information about the vtk-developers mailing list