MantisBT - ParaView
View Issue Details
0004815ParaView(No Category)public2007-04-09 12:282007-04-16 13:38
Ken Moreland 
Utkarsh Ayachit 
highmajoralways
closedfixed 
 
 
0004815: Selection crashes in client/server
Whenever you try to select a surface in client/server mode, PV crashes. This bug was introduced fairly recently. I think this was working for me last week.
No tags attached.
Issue History
2011-06-16 13:10Zack GalbreathCategory => (No Category)

Notes
(0007200)
user521   
2007-04-09 15:14   
Can you provide more information about the machine, data and crash report? I just updated, recompiled and tried here. Surface selection worked fine for me with one and two node servers connected to the client on the sphere.
(0007201)
Ken Moreland   
2007-04-09 16:03   
Connecting to a server of any size, creating a sphere, and then selecting on it causes a crash.

Try updating your source again. I just tried using a build from about 1:00am, and it worked fine. I updated it just now and recompiled and it crashes now. The problematic code was probably added today.
(0007225)
user521   
2007-04-10 13:39   
It definately was busted the day this bug was submitted, but I think that was transient while Berk and Utkarsh were working on the pipeline. It works on today's build. I will submit a test for selection today to make sure it stays working.
(0007232)
user521   
2007-04-10 17:22   
It is not working at Sandia. This just in from Dave Kareltiz:

Here's the stack trace:

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1208879392 (LWP 25053)]
0x00b85775 in pqProxy::getProxy (this=0x0) at
/home/projects/ParaView3-Trunk/ParaView3/Qt/Core/pqProxy.cxx:236
236 return this->Internal->Proxy;
(gdb) where
#0 0x00b85775 in pqProxy::getProxy (this=0x0) at
/home/projects/ParaView3-Trunk/ParaView3/Qt/Core/pqProxy.cxx:236
#1 0x0087c9c5 in pqElementInspectorWidget::onSelectionChanged
(this=0x87e0e90)
   at
/home/projects/ParaView3-Trunk/ParaView3/Qt/Components/pqElementInspecto
rWidget.cxx:402
#2 0x0096fdd2 in pqElementInspectorWidget::qt_metacall (this=0x87e0e90,
_c=QMetaObject::InvokeMetaMethod, _id=3,
   _a=0xbfe0bfe8) at
/home/projects/ParaView3-Trunk/Build-Debug/Qt/Components/moc_pqElementIn
spectorWidget.cxx:89
#3 0x005cabbe in QMetaObject::activate (sender=0x858e044,
from_signal_index=4, to_signal_index=4,
   argv=0xbfe0bfe8) at kernel/qobject.cpp:2938
#4 0x005caf96 in QMetaObject::activate (sender=0x858e044, m=0xa39720,
local_signal_index=0, argv=0xbfe0bfe8)
   at kernel/qobject.cpp:2981
#5 0x0097b856 in pqSelectionManager::selectionChanged (this=0x858e044,
_t1=0x858e044)
   at
/home/projects/ParaView3-Trunk/Build-Debug/Qt/Components/moc_pqSelection
Manager.cxx:104
#6 0x0092337b in pqSelectionManager::selectOnSurface (this=0x858e044,
screenRectangle=0xbfe0c0d0)
   at
/home/projects/ParaView3-Trunk/ParaView3/Qt/Components/pqSelectionManage
r.cxx:654
#7 0x00922a94 in pqSelectionManager::select (this=0x858e044)
   at
/home/projects/ParaView3-Trunk/ParaView3/Qt/Components/pqSelectionManage
r.cxx:431
#8 0x00922a2b in pqSelectionManager::processEvents (this=0x858e044,
eventId=13)
   at
/home/projects/ParaView3-Trunk/ParaView3/Qt/Components/pqSelectionManage
r.cxx:414
0000009 0x00923b3d in vtkPQSelectionObserver::Execute (this=0x861db18,
event=13)
   at
/home/projects/ParaView3-Trunk/ParaView3/Qt/Components/pqSelectionManage
r.cxx:78
#10 0x04f2fc7f in vtkSubjectHelper::InvokeEvent (this=0x8a697a0,
event=13, callData=0xbfe0c840, self=0x8a5b848)
   at
/home/projects/ParaView3-Trunk/ParaView3/VTK/Common/vtkObject.cxx:547
0000011 0x04f300e2 in vtkObject::InvokeEvent (this=0x8a5b848, event=13,
callData=0xbfe0c840)
   at
/home/projects/ParaView3-Trunk/ParaView3/VTK/Common/vtkObject.cxx:713
#12 0x00384022 in QVTKWidget::mouseReleaseEvent (this=0x8a56ce0,
e=0xbfe0c840)
   at
/home/projects/ParaView3-Trunk/ParaView3/VTK/GUISupport/Qt/QVTKWidget.cx
x:649
#13 0x010a9510 in QWidget::event (this=0x8a56ce0, event=0xbfe0c840) at
kernel/qwidget.cpp:5696
#14 0x0038362e in QVTKWidget::event (this=0x8a56ce0, e=0xbfe0c840)
   at
/home/projects/ParaView3-Trunk/ParaView3/VTK/GUISupport/Qt/QVTKWidget.cx
x:400
#15 0x0106492d in QApplicationPrivate::notify_helper (this=0x8369970,
receiver=0x8a56ce0, e=0xbfe0c840)
   at kernel/qapplication.cpp:3432
#16 0x010652e6 in QApplication::notify (this=0xbfe0d230,
receiver=0x8a56ce0, e=0xbfe0c840)
   at kernel/qapplication.cpp:3131
#17 0x010c0566 in QETWidget::translateMouseEvent (this=0x8a56ce0,
event=0xbfe0cd40)
   at
../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:184
#18 0x010bf3f5 in QApplication::x11ProcessEvent (this=0xbfe0d230,
event=0xbfe0cd40)
   at kernel/qapplication_x11.cpp:2848
#19 0x010dfca9 in x11EventSourceDispatch (s=0x836faa0, callback=0,
user_data=0x0)
   at
../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:75
#20 0x0339574b in g_main_context_dispatch () from
/usr/lib/libglib-2.0.so.0
#21 0x033971d2 in g_main_context_acquire () from
/usr/lib/libglib-2.0.so.0
#22 0x033976b8 in g_main_context_iteration () from
/usr/lib/libglib-2.0.so.0
#23 0x005dcb9f in QEventDispatcherGlib::processEvents (this=0x836e5e8,
flags=Cannot access memory at address 0x1
)
   at kernel/qeventdispatcher_glib.cpp:361
#24 0x010df7b7 in QGuiEventDispatcherGlib::processEvents
(this=0x836e5e8, flags={i = 0})
   at ../../include/QtCore/../../src/corelib/global/qglobal.h:1633
#25 0x005ba447 in QEventLoop::processEvents (this=0xbfe0d000,
flags=Cannot access memory at address 0x0
)
   at ../../include/QtCore/../../src/corelib/global/qglobal.h:1633
#26 0x005ba5e0 in QEventLoop::exec (this=0xbfe0d000, flags={i = 0})
   at ../../include/QtCore/../../src/corelib/global/qglobal.h:1650
#27 0x005bec09 in QCoreApplication::exec () at
../../include/QtCore/../../src/corelib/global/qglobal.h:1634
#28 0x00b7bd94 in pqProcessModuleGUIHelper::RunGUIStart (this=0x83a1e68,
argc=1, argv=0x83bab00)
   at
/home/projects/ParaView3-Trunk/ParaView3/Qt/Core/pqProcessModuleGUIHelpe
r.cxx:189
#29 0x02e5e586 in vtkProcessModule::StartClient (this=0x83bba28, argc=1,
argv=0x83bab00)
   at
/home/projects/ParaView3-Trunk/ParaView3/Servers/Common/vtkProcessModule
.cxx:363
#30 0x02e5e14d in vtkProcessModule::Start (this=0x83bba28, argc=1,
argv=0x83bab00)
   at
/home/projects/ParaView3-Trunk/ParaView3/Servers/Common/vtkProcessModule
.cxx:310
#31 0x02e6898a in vtkProcessModuleGUIHelper::Run (this=0x83a1e68,
options=0x83e5720)
   at
/home/projects/ParaView3-Trunk/ParaView3/Servers/Common/vtkProcessModule
GUIHelper.cxx:38
#32 0x00b593c6 in pqMain::Run (app=@0xbfe0d230, helper=0x83a1e68)
   at /home/projects/ParaView3-Trunk/ParaView3/Qt/Core/pqMain.cxx:129
#33 0x0806aa3f in main (argc=2, argv=0xbfe0d2d4)
   at
/home/projects/ParaView3-Trunk/ParaView3/Applications/Client/main.cxx:49

(0007264)
Ken Moreland   
2007-04-12 16:55   
From Dave Karelitz:

I've tracked this down some more. I'm running in reverse-connect mode.
 
It seems like setServer is never being called on the Element Inspector, which causes this->Implementation->ViewModule to stay NULL (which is the immediate cause of the crash)..
 
Digging down some more, when using a reverse connection, the pqApplicationCore never emits the finishedAddingServer signal (since id is never set in that case within createServer), so the element inspector never gets a view module.
(0007278)
Utkarsh Ayachit   
2007-04-13 09:24   
I'll look into this.
(0007284)
Utkarsh Ayachit   
2007-04-13 09:47   
Thanks to Ken's inverstigation, this was an easy fix.

/cvsroot/ParaView3/ParaView3/Qt/Components/pqSimpleServerStartup.cxx,v <-- pqSimpleServerStartup.cxx
new revision: 1.16; previous revision: 1.15
/cvsroot/ParaView3/ParaView3/Qt/Core/pqApplicationCore.h,v <-- pqApplicationCore.h
new revision: 1.29; previous revision: 1.28

(0007325)
Ken Moreland   
2007-04-16 13:38   
Dave Karelitz should get more credit than me.