Re: [Opalvoip-devel] Assertion fail on heavy load
Brought to you by:
csoutheren,
rjongbloed
From: Юра Ч. <yur...@gm...> - 2013-07-09 10:19:31
|
I think I have found the work around of this & SIGSEGV in "PTLib Housekeeper" crashes :), and it is stupidly simple - reconfigure and recompile PTLib with --with-allocator=bitmap flag. Short explanation: After analyzing usage of m_autoDeleteThreads I saw that it is correctly synchronized with m_threadMutex everywhere, so the problem with corruption of m_autoDeleteThreads elements was in some other place. Then I saw that structure PListElement uses custom allocator and by default it uses PSingleton<std::allocator<Type>, so as I understand the allocator shared between different threads and as result can cause problem. The decision was to try another allocator and it is work! Also I noticed general performance increase of all library - __gnu_cxx rocks! :). On 2 июля 2013, at 23:00, Юра Чернявский <yur...@gm...> wrote: > Hi opalvoip developers, > > My library which use PTLIB version 2.12 (last http://svn.code.sf.net/p/opalvoip/code/ptlib/branches/v2_12) & OPAL version 3.12 (last http://svn.code.sf.net/p/opalvoip/code/opal/branches/v3_12) on heavy load in production crashed with next assertions and errors: > > 2013/07/02 11:52:05.321 1 Media Patc...af453e2700 patch.cxx(960) Patch Media conversion (primary) failed > 2013/07/02 11:52:05.332 0 Media Patc...af45464700 assert.cxx(113) PTLib Assertion fail: reference is null or reference->size == 0, file ptlib/common/collect.cxx, line 455, class SelectList > 2013/07/02 11:52:05.333 0 Media Patc...aed80a0700 assert.cxx(113) PTLib Assertion fail: Invalid parameter, file /home/va/projects/project_voipadapter/opal.svn/src/rtp/rtp.cxx, line 147 > 2013/07/02 11:52:05.420 2 Media Patc...aede9f4700 mediastrm.cxx(348) Media WriteData failed, written=0 > > as result process failed with stack trace: > > siginfo:si_signo=SIGSEGV: si_errno=0, si_code=1 (SEGV_MAPERR), si_addr=0x0000000000000050 > > C [libvoipadapter-opal-native.so.7606883131637029341.tmp+0x6fb2c8] PWaitAndSignal::PWaitAndSignal(PSync const&, bool)+0x34 > > > For media conversion used plugin based on IPP codes. > As VoIP protocol used H323. > By heavy load I mean ~30 simulation calls and 1-2 call attempts per second (I understand that this is not really heavy load, but this & SIGSEGV in "PTLib Housekeeper" crashes start with this condition, that is why I call it heavy load). > > Which additional information could I proved to simplify localizing of this problem? > And as usual any hint is welcome. > > > Also, could anybody share own's experience about practically maximum capacity and call attempts per second for H323 and/or SIP of one OPAL process? > May be I want impossible from OPAL or vice-versa ~30 simulation calls with 1-2 call attempts per second is elementary for OPAL, and this is some my incorrect usage problems. > > Sincerely, > Yuriy. |