Archived

This forum has been archived. Please start a new discussion on GitHub.

Python Client Exception

Hi,

When running multi-threaded (10 threads) python client, I got following error message (exception).

terminate called after throwing an instance of 'N7IceUtil22ThreadSyscallExceptionE'


I am using Ice 3.2.1 and freebsd OS.

And following is the stacktrace.
#0  0x28227537 in pthread_testcancel () from /lib/libpthread.so.2
#1  0x2821689a in sigaction () from /lib/libpthread.so.2
#2  0x2821088d in pthread_kill () from /lib/libpthread.so.2
#3  0x28210256 in raise () from /lib/libpthread.so.2
#4  0x282e9b78 in abort () from /lib/libc.so.6
#5  0x28185297 in __gnu_cxx::__verbose_terminate_handler ()
   from /usr/lib/libstdc++.so.5
#6  0x2818949c in __cxxabiv1::__terminate () from /usr/lib/libstdc++.so.5
#7  0x281894d4 in std::terminate () from /usr/lib/libstdc++.so.5
#8  0x28189428 in __cxa_throw () from /usr/lib/libstdc++.so.5
#9  0x285d8aaa in IceUtil::Cond::Cond () from /usr/local/lib/libIceUtil.so.31
#10 0x284f86fa in IceInternal::OutgoingAsync::OutgoingAsync ()
   from /usr/local/lib/libIce.so.31
#11 0x283909cd in AMI_Object_ice_invoke (this=0x280e6fc0,
    __vtt_parm=0x283cc77c) at Operation.cpp:362
#12 0x2838ab07 in AMICallback (this=0x280e6fc0, op=@0xbf4d84f0,
    communicator=@0xbf4d8520, callback=0x28089eac) at Operation.cpp:362
#13 0x2838ce1f in IcePy::OperationI::invokeAsync (this=0x8282600,
    proxy=@0xbf4d8580, callback=0x28089eac, args=0x812302c, pyctx=0x80efbc0)
    at Operation.cpp:608
#14 0x2838a316 in operationInvokeAsync (self=0x815e8f0, args=0x8255fcc)
    at Operation.cpp:225
#15 0x0809f6fb in PyEval_EvalFrame ()
#16 0x0809fe40 in PyEval_EvalCodeEx ()
#17 0x0809e44d in PyEval_EvalFrame ()
#18 0x0809f615 in PyEval_EvalFrame ()
---Type <return> to continue, or q <return> to quit---
#19 0x0809f615 in PyEval_EvalFrame ()
#20 0x0809fe40 in PyEval_EvalCodeEx ()
#21 0x080d4ff2 in PyFunction_SetClosure ()
#22 0x0805a7dc in PyObject_Call ()
#23 0x0806007a in PyMethod_New ()
#24 0x0805a7dc in PyObject_Call ()
#25 0x0809a4c3 in PyEval_CallObjectWithKeywords ()
#26 0x080be725 in _PyObject_GC_Del ()
#27 0x282183a5 in pthread_create () from /lib/libpthread.so.2
#28 0x282d5137 in _ctx_start () from /lib/libc.so.6


Can anyone explain what is it.

Today, our network was bit slow and un-predictable.

Thanks.

Comments

  • benoit
    benoit Rennes, France
    Hi,

    Note that FreeBSD is not a supported platform. The line numbers from the stack trace don't correspond to the line numbers of Ice for Python 3.2.1, did you make any changes to the source? Could you try running your client on a supported platform to see if you also get the problem?

    In any case, this assert indicates that a condition variable couldn't be created. This is most likely caused by a resource issue: not enough memory or not enough system resources required to create a pthread condition variable. Assuming this isn't a problem with the FreeBSD port, this could either be caused by a leak in your python client or in Ice for Python. The best would be to try to simplify your client to investigate where the leak could be coming from.

    Cheers,
    Benoit.