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 <[email protected]> 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<[email protected]> 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: [email protected] >>>>>> [mailto:[email protected]] On Behalf Of Utkarsh Ayachit >>>>>> Sent: 30 January 2012 14:38 >>>>>> To: Goodwin Lawlor >>>>>> Cc: [email protected] >>>>>> 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<[email protected]> >>>>>> 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 >>> >>> >>> > > > -- > Bioengineering Research Group > School of Mechanical and Materials Engineering > University College Dublin, Ireland > http://www.bioengineering-research.com _______________________________________________ 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
