[Paraview] ParaView 3.12.0 hanging
Goodwin Lawlor
goodwin.lawlor at ucd.ie
Wed Feb 22 08:53:37 EST 2012
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