[Paraview] ParaView 3.12.0 hanging

Utkarsh Ayachit utkarsh.ayachit at kitware.com
Tue Feb 21 13:50:25 EST 2012


Goodwin,

Can you verify that the patch works, please?. It still might be too
late  for 3.14, but it'll be nice to know if it fixes the issue.

Utkarsh

On Tue, Feb 21, 2012 at 1:18 PM, Burlen Loring <bloring at lbl.gov> wrote:
> Hi Goodwin,
>
> There is a bug in vtkSocket::Receive, where the error condition is not
> tested for in return from recv socket call on *nix systems. It may or may
> not be the source of/related to the issue that you are having but it's
> certainly could cause ParaView to hang silently. Sorry that I didn't submit
> the patch sooner, am way behind on the "new" git work flow. I've filed the
> bug report http://www.paraview.org/Bug/view.php?id=12955, hope it can make
> it into 3.14.
>
> Burlen
>
>
> On 02/21/2012 09:18 AM, Goodwin Lawlor wrote:
>>
>> Following up on this.
>>
>> I built a debug 32bit version of ParaView 3.14.0-RC2 client on Win7
>>
>> It hangs on connecting to a remote server (linux 64bit) too.
>>
>> Here's the backtrace:
>>
>>     ntdll.dll!7714f8c1()
>>     mswsock.dll!73be6f0f()
>>     mswsock.dll!73be76a6()
>>     ws2_32.dll!763170fa()
>>     wsock32.dll!73fe17db()
>> >    paraview.exe!vtkSocket::Receive(void * data, int length, int
>> > readFully)  Line 607 + 0x1c bytes    C++
>>     paraview.exe!vtkSocketCommunicator::ReceivePartialTagged(void * data,
>> int wordSize, int numWords, int tag, const char * logName)  Line 907 + 0x19
>> bytes    C++
>>     paraview.exe!vtkSocketCommunicator::ReceiveTagged(void * data, int
>> wordSize, int numWords, int tag, const char * logName)  Line 897    C++
>>     paraview.exe!vtkSocketCommunicator::ReceiveVoidArray(void * data, int
>> length, int type, int remoteProcessId, int tag)  Line 367 + 0x34 bytes
>>  C++
>>     paraview.exe!vtkCommunicator::Receive(unsigned char * data, int
>> maxlength, int remoteHandle, int tag)  Line 214 + 0x21 bytes    C++
>>     paraview.exe!vtkCommunicator::Receive(vtkMultiProcessStream & stream,
>> int remoteId, int tag)  Line 1658 + 0x1f bytes    C++
>>
>> paraview.exe!vtkMultiProcessController::Receive(vtkMultiProcessStream &
>> stream, int remoteId, int tag)  Line 1329 + 0x17 bytes    C++
>>
>> paraview.exe!vtkSMSessionClient::PullState(paraview_protobuf::Message *
>> message)  Line 590    C++
>>
>> paraview.exe!vtkSMRemoteObject::PullState(paraview_protobuf::Message *
>> msg)  Line 158 + 0x2f bytes    C++
>>     paraview.exe!vtkSMProxyDefinitionManager::SynchronizeDefinitions()
>>  Line 87 + 0xc bytes    C++
>>
>>
>> paraview.exe!vtkSMPluginManager::LoadPluginConfigurationXMLFromString(const
>> char * xmlcontents, vtkSMSession * session, bool remote)  Line 179    C++
>>     paraview.exe!pqPluginManager::loadPluginsFromSettings(pqServer *
>> server)  Line 163 + 0x7b bytes    C++
>>     paraview.exe!pqPluginManager::qt_static_metacall(QObject * _o,
>> QMetaObject::Call _c, int _id, void * * _a)  Line 63 + 0x11 bytes    C++
>>     QtCored4.dll!QMetaObject::activate(QObject * sender, const QMetaObject
>> * m, int local_signal_index, void * * argv)  Line 3547 + 0x2e bytes    C++
>>     paraview.exe!pqServerManagerModel::preServerAdded(pqServer * _t1)
>>  Line 210 + 0x17 bytes    C++
>>     paraview.exe!pqServerManagerModel::onConnectionCreated(int id) Line
>> 472    C++
>>     paraview.exe!pqServerManagerModel::qt_static_metacall(QObject * _o,
>> QMetaObject::Call _c, int _id, void * * _a)  Line 159 + 0x18 bytes   C++
>>     QtCored4.dll!QMetaObject::activate(QObject * sender, const QMetaObject
>> * m, int local_signal_index, void * * argv)  Line 3547 + 0x2e bytes    C++
>>     paraview.exe!pqServerManagerObserver::connectionCreated(int _t1) Line
>> 171 + 0x17 bytes    C++
>>     paraview.exe!pqServerManagerObserver::connectionCreated(vtkObject *
>> __formal, vtkObject * __formal, vtkObject * __formal, void * callData)  Line
>> 113    C++
>>     paraview.exe!pqServerManagerObserver::qt_static_metacall(QObject * _o,
>> QMetaObject::Call _c, int _id, void * * _a)  Line 91 + 0x2c bytes    C++
>>     QtCored4.dll!QMetaObject::activate(QObject * sender, const QMetaObject
>> * m, int local_signal_index, void * * argv)  Line 3547 + 0x2e bytes    C++
>>     paraview.exe!vtkQtConnection::EmitExecute(vtkObject * _t1, unsigned
>> long _t2, void * _t3, void * _t4, vtkCommand * _t5)  Line 104 + 0x17 bytes
>>  C++
>>     paraview.exe!vtkQtConnection::Execute(vtkObject * caller, unsigned
>> long e, void * call_data)  Line 75    C++
>>     paraview.exe!vtkQtConnection::DoCallback(vtkObject * vtk_obj, unsigned
>> long event, void * client_data, void * call_data)  Line 63    C++
>>     paraview.exe!vtkCallbackCommand::Execute(vtkObject * caller, unsigned
>> long event, void * callData)  Line 42 + 0x1d bytes    C++
>>     paraview.exe!vtkSubjectHelper::InvokeEvent(unsigned long event, void *
>> callData, vtkObject * self)  Line 602 + 0x1f bytes    C++
>>     paraview.exe!vtkObject::InvokeEvent(unsigned long event, void *
>> callData)  Line 770 + 0x17 bytes    C++
>>     paraview.exe!vtkProcessModule::RegisterSession(vtkSession * session)
>>  Line 279    C++
>>     paraview.exe!vtkSMSession::ConnectToRemote(const char * hostname, int
>> port, bool allowRemoteRendering)  Line 262 + 0x12 bytes    C++
>>     paraview.exe!vtkSMSession::ConnectToRemote(const char * hostname, int
>> port)  Line 247 + 0xf bytes    C++
>>     paraview.exe!pqObjectBuilder::createServer(const pqServerResource &
>> resource)  Line 930 + 0x7a bytes    C++
>>     paraview.exe!pqServerLauncher::connectToPrelaunchedServer()  Line 520
>> + 0xc bytes    C++
>>     paraview.exe!pqServerLauncher::connectToServer()  Line 488 + 0x17
>> bytes    C++
>>
>>
>> paraview.exe!pqServerConnectReaction::connectToServerUsingConfiguration(const
>> pqServerConfiguration & config)  Line 114 + 0x8 bytes    C++
>>     paraview.exe!pqServerConnectReaction::connectToServer()  Line 92 + 0xe
>> bytes    C++
>>     paraview.exe!pqServerConnectReaction::connectToServerWithWarning()
>>  Line 83    C++
>>     paraview.exe!pqServerConnectReaction::onTriggered()  Line 66 + 0x13
>> bytes    C++
>>     paraview.exe!pqReaction::qt_static_metacall(QObject * _o,
>> QMetaObject::Call _c, int _id, void * * _a)  Line 52 + 0xf bytes    C++
>>     QtCored4.dll!QMetaObject::activate(QObject * sender, const QMetaObject
>> * m, int local_signal_index, void * * argv)  Line 3547 + 0x2e bytes    C++
>>     QtGuid4.dll!QAction::triggered(bool _t1)  Line 277 + 0x15 bytes    C++
>>     QtGuid4.dll!QAction::activate(QAction::ActionEvent event)  Line 1259
>>  C++
>>     QtGuid4.dll!QAction::trigger()  Line 218 + 0x11 bytes    C++
>>     QtGuid4.dll!QToolButton::nextCheckState()  Line 1145    C++
>>     QtGuid4.dll!QAbstractButtonPrivate::click()  Line 529    C++
>>     QtGuid4.dll!QAbstractButton::mouseReleaseEvent(QMouseEvent * e) Line
>> 1122    C++
>>     QtGuid4.dll!QToolButton::mouseReleaseEvent(QMouseEvent * e)  Line 719
>>    C++
>>     QtGuid4.dll!QWidget::event(QEvent * event)  Line 8362    C++
>>     QtGuid4.dll!QAbstractButton::event(QEvent * e)  Line 1081    C++
>>     QtGuid4.dll!QToolButton::event(QEvent * event)  Line 1161    C++
>>     QtGuid4.dll!QApplicationPrivate::notify_helper(QObject * receiver,
>> QEvent * e)  Line 4550 + 0x11 bytes    C++
>>     QtGuid4.dll!QApplication::notify(QObject * receiver, QEvent * e) Line
>> 4093 + 0x2f bytes    C++
>>     QtCored4.dll!QCoreApplication::notifyInternal(QObject * receiver,
>> QEvent * event)  Line 876 + 0x15 bytes    C++
>>     QtCored4.dll!QCoreApplication::sendSpontaneousEvent(QObject *
>> receiver, QEvent * event)  Line 234 + 0x38 bytes    C++
>>     QtGuid4.dll!QApplicationPrivate::sendMouseEvent(QWidget * receiver,
>> QMouseEvent * event, QWidget * alienWidget, QWidget * nativeWidget, QWidget
>> * * buttonDown, QPointer<QWidget> & lastMouseReceiver, bool spontaneous)
>>  Line 3159 + 0xe bytes    C++
>>     QtGuid4.dll!QETWidget::translateMouseEvent(const tagMSG & msg) Line
>> 3363 + 0x2a bytes    C++
>>     QtGuid4.dll!QtWndProc(HWND__ * hwnd, unsigned int message, unsigned
>> int wParam, long lParam)  Line 1696 + 0xc bytes    C++
>>     user32.dll!767862fa()
>>     user32.dll!76786d3a()
>>     user32.dll!76786ce9()
>>     user32.dll!767877c4()
>>     user32.dll!7678788a()
>>     QtCored4.dll!QEventDispatcherWin32::processEvents(QFlags<enum
>> QEventLoop::ProcessEventsFlag> flags)  Line 809    C++
>>     QtGuid4.dll!QGuiEventDispatcherWin32::processEvents(QFlags<enum
>> QEventLoop::ProcessEventsFlag> flags)  Line 1202 + 0x15 bytes    C++
>>     QtCored4.dll!QEventLoop::processEvents(QFlags<enum
>> QEventLoop::ProcessEventsFlag> flags)  Line 150    C++
>>     QtCored4.dll!QEventLoop::exec(QFlags<enum
>> QEventLoop::ProcessEventsFlag> flags)  Line 204 + 0x2d bytes    C++
>>     QtCored4.dll!QCoreApplication::exec()  Line 1148 + 0x15 bytes
>>     QtGuid4.dll!QApplication::exec()  Line 3812    C++
>>     paraview.exe!main(int argc, char * * argv)  Line 81 + 0x8 bytes
>>     paraview.exe!WinMain(HINSTANCE__ * instance, HINSTANCE__ *
>> prevInstance, char * __formal, int cmdShow)  Line 131 + 0x12 bytes
>>     paraview.exe!__tmainCRTStartup()  Line 547 + 0x2c bytes    C
>>     paraview.exe!WinMainCRTStartup()  Line 371    C
>>
>>
>>
>> On 31/01/2012 08:11, Goodwin Lawlor wrote:
>>>
>>> Utkarsh & John,
>>>
>>> Thanks for the tips! I'll investigate further.
>>>
>>> FWIW, this is how I checked out the source code:
>>>
>>> $ git checkout -b release-3.12.0 tags/v3.12.0
>>> $ git submodule update
>>>
>>> Initially, I hadn't updated the submodule and did hit the version
>>> incompatibility thing.
>>>
>>> Goodwin
>>>
>>> On 31/01/2012 03:44, Biddiscombe, John A. wrote:
>>>>
>>>> I've had the hanging problem a lot. Last time I found that my VTK ref
>>>> was not quite the same as the ref that the paraview repo was asking
>>>> for. When I corrected it, all was well, but it seems very sensitive to
>>>> changes which (in my opinion) shouldn't have made any difference.
>>>> Make sure git submodule update/status doesn't show any grotesque
>>>> incompatibilities. It might help ...
>>>>
>>>> JB
>>>>
>>>> -----Original Message-----
>>>> From: paraview-bounces at paraview.org
>>>> [mailto:paraview-bounces at paraview.org] On Behalf Of Utkarsh Ayachit
>>>> Sent: 30 January 2012 14:38
>>>> To: Goodwin Lawlor
>>>> Cc: paraview at paraview.org
>>>> Subject: Re: [Paraview] ParaView 3.12.0 hanging
>>>>
>>>> The server is expected to complain once the client is killed. The real
>>>> issue is the hanging part. Are these debug builds? Is it possible to
>>>> produce a backtrace?
>>>>
>>>> Utkarsh
>>>>
>>>> On Mon, Jan 30, 2012 at 7:13 AM, Goodwin Lawlor<goodwin.lawlor at ucd.ie>
>>>> wrote:
>>>>>
>>>>> Hi All,
>>>>>
>>>>> We upgraded pvserver from 3.10 to 3.12
>>>>>
>>>>> Now when the client (Win7 64bit) connects remotely to the pvserver
>>>>> (linux 64it), it hangs.
>>>>>
>>>>> When you kill the client, the server complains:
>>>>>
>>>>> Waiting for client
>>>>> Connection URL: cs://localhost:11111
>>>>> Client connected.
>>>>> ERROR: In
>>>>> /home/ec2-user/vol_30GB/codes/ParaView-3.12.0/VTK/Common/vtkSocket.cxx
>>>>> , line
>>>>> 572
>>>>> vtkClientSocket (0x1208010): Socket error in call to send. Connection
>>>>> reset by peer.
>>>>>
>>>>> ERROR: In
>>>>> /home/ec2-user/vol_30GB/codes/ParaView-3.12.0/VTK/Parallel/vtkSocketCo
>>>>> mmunicator.cxx,
>>>>> line 737
>>>>> vtkSocketCommunicator (0x10f6da0): Could not send message.
>>>>>
>>>>> ERROR: In
>>>>> /home/ec2-user/vol_30GB/codes/ParaView-3.12.0/VTK/Parallel/vtkSocketCo
>>>>> mmunicator.cxx,
>>>>> line 766
>>>>> vtkSocketCommunicator (0x10f6da0): Could not receive tag. 1
>>>>>
>>>>> GetIsConnected 1
>>>>> Exiting...
>>>>>
>>>>>
>>>>> Any ideas?
>>>>>
>>>>> Thanks,
>>>>>
>>>>> Goodwin
>>
>> _______________________________________________
>> Powered by www.kitware.com
>>
>> Visit other Kitware open-source projects at
>> http://www.kitware.com/opensource/opensource.html
>>
>> Please keep messages on-topic and check the ParaView Wiki at:
>> http://paraview.org/Wiki/ParaView
>>
>> Follow this link to subscribe/unsubscribe:
>> http://www.paraview.org/mailman/listinfo/paraview
>
>


More information about the ParaView mailing list