[Paraview] ParaView 3.12.0 hanging

Utkarsh Ayachit utkarsh.ayachit at kitware.com
Wed Feb 22 08:54:42 EST 2012


Goodwin,

Thanks for the update.

Utkarsh

On Wed, Feb 22, 2012 at 8:53 AM, Goodwin Lawlor <goodwin.lawlor at ucd.ie> wrote:
> The problem seems to be server side on an aws instance - a remote pvserver
> 3.14.0-RC2 works fine on an Ubuntu desktop.
>
> I haven't got access any longer to the instance but when I do I'll debug the
> server side.
>
> Goodwin
>
>
> On 21/02/2012 23:51, Utkarsh Ayachit wrote:
>>
>> IN that case, can you check where the server process is stuck? A call
>> stack for the server would be helpful.
>>
>> Utkarsh
>>
>> On Tue, Feb 21, 2012 at 2:45 PM, Goodwin Lawlor<goodwin.lawlor at ucd.ie>
>>  wrote:
>>>
>>> Hi Utkarsh and Burlen,
>>>
>>> I applied the patch but it didn't make a difference unfortunately.
>>>
>>> A colleague also sees the same problem connecting from a Mac client, btw.
>>>
>>> The main thread on the client is stuck here:
>>>
>>>    vtkRestartInterruptedSystemCallMacro(
>>>      recv(this->SocketDescriptor, buffer+total, length-total, 0),
>>>      nRecvd);
>>>
>>> in the vtkSocket::Receive method.
>>>
>>> It looks like the execution is stuck in a worker thread though.
>>>
>>> Here's the backtrace for that thread, fwiw:
>>>
>>>        ntdll.dll!7715014d()
>>>        KernelBase.dll!75f80962()
>>>        kernel32.dll!75821a2c()
>>>        user32.dll!7679086a()
>>>        kernel32.dll!7583d3ab()
>>>        kernel32.dll!7583d3ab()
>>>        nvoglv32.dll!69b64477()
>>>        kernel32.dll!758233ca()
>>>        ntdll.dll!77169ed2()
>>>        ntdll.dll!77169ea5()
>>>
>>> nvoglv32 is Nvidia's opengl driver...
>>>
>>>
>>>
>>> On 21/02/2012 22:50, Utkarsh Ayachit wrote:
>>>>
>>>>
>>>> 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
>
>


More information about the ParaView mailing list