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

Reply via email to