Re: [Opalvoip-devel] Procyon crash
Brought to you by:
csoutheren,
rjongbloed
From: Robert J. <ro...@vo...> - 2016-04-23 13:17:11
|
Alexander, I have found valgrind to be too slow to be practical. It actually causes more problems than it reveals. PTLib trunk has support for Google address sanitizer, and I would recommend you use that. ---------- Robert Jongbloed Vox Lucida Pty. Ltd. -----Original message----- From: Alexander Sbitnev Sent: Wednesday, 20th April 2016, 15:50 To: opa...@li...; Robert Jongbloed Subject: Re: Procyon crash UPDATE. I've tried to start conopal under valgrind to check if some memory problems pops up. Want to check for double free error happening during conopal shutdown after successful call. But in the end still get a crash and multiple times valgrind warnings appears probably indicating some places there uninitialized variables was used. Want to post it here cause crash also probable came from uninitialized variable. Maybe it will helps to find problem origin. ==12540== Thread 10: ==12540== Conditional jump or move depends on uninitialised value(s) ==12540== at 0x65E55E6: PIPSocket::AddressAndPort::SetAddress(PIPSocket::Address const&, unsigned short) (sockets.cxx:2831) ==12540== by 0x572BF22: OpalRTPSession::SetQoS(PIPSocket::QoS const&) (rtp_session.cxx:2338) ==12540== by 0x572303E: OpalRTPSession::InternalAttachTransport(PSafePtr<OpalMediaTransport, PSafePtrMultiThreaded> const&, char const*) (rtp_session.cxx:794) ==12540== by 0x572BCEA: OpalRTPSession::Open(PString const&, OpalTransportAddress const&) (rtp_session.cxx:2314) ==12540== by 0x5A056B0: H323Connection::CreateRealTimeLogicalChannel(H323Capability const&, H323Channel::Directions, unsigned int, H245_H2250LogicalChannelParameters const*) (h323.cxx:4969) ==12540== by 0x5A0CA63: H323RealTimeCapability::CreateChannel(H323Connection&, H323Channel::Directions, unsigned int, H245_H2250LogicalChannelParameters const*) const (h323caps.cxx:483) ==12540== by 0x5A221A4: H245NegLogicalChannel::Open(H323Capability const&, unsigned int, unsigned int, PSafePtr<OpalMediaStream, PSafePtrBase>) (h323neg.cxx:496) ==12540== by 0x5A24505: H245NegLogicalChannels::Open(H323Capability const&, unsigned int, unsigned int, PSafePtr<OpalMediaStream, PSafePtrBase>) (h323neg.cxx:921) ==12540== by 0x5A03518: H323Connection::OpenLogicalChannel(H323Capability const&, unsigned int, H323Channel::Directions) (h323.cxx:4606) ==12540== by 0x5A01529: H323Connection::OpenMediaStream(OpalMediaFormat const&, unsigned int, bool) (h323.cxx:4311) ==12540== by 0x56C308A: OpalCall::OpenSourceMediaStreams(OpalConnection&, OpalMediaType const&, unsigned int, OpalMediaFormat const&, OpalVideoFormat::ContentRole, bool, bool) (call.cxx:693) ==12540== by 0x5A03127: H323Connection::SelectDefaultLogicalChannel(OpalMediaType const&, unsigned int) (h323.cxx:4558) ==12540== -------------------------------------------------------------------------------------------------------------------------- ==12540== Conditional jump or move depends on uninitialised value(s) ==12540== at 0x4C31D66: __memcmp_sse4_1 (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==12540== by 0x66551C5: PObject::InternalCompareObjectMemoryDirect(PObject const*, PObject const*, int) (object.cxx:189) ==12540== by 0x5C2BDD2: OpalFarEndCameraControl::CompareObjectMemoryDirect(PObject const&) const (in /usr/local/lib/libopal_d.so.3.16.1) ==12540== by 0x6655245: PObject::Compare(PObject const&) const (object.cxx:207) ==12540== by 0x66402FF: PSortedListInfo::ValueSelect(PSortedListElement*, PObject const&, PSortedListElement*&) const (collect.cxx:1074) ==12540== by 0x6642085: PSortedListInfo::ValueSelect(PObject const&, PSortedListElement*&) const (lists.h:729) ==12540== by 0x663F781: PAbstractSortedList::FindElement(PObject const*, int*) const (collect.cxx:826) ==12540== by 0x663F715: PAbstractSortedList::GetObjectsIndex(PObject const*) const (collect.cxx:819) ==12540== by 0x5C257FB: OpalH224Handler::TransmitClientFrame(OpalH224Client const&, H224_Frame&) (h224.cxx:765) ==12540== by 0x5C25767: OpalH224Handler::SendExtraCapabilitiesMessage(OpalH224Client const&, unsigned char*, int) (h224.cxx:757) ==12540== by 0x5C29CAD: OpalH281Client::SendExtraCapabilities() const (h281.cxx:544) ==12540== by 0x5C2AD4C: OpalFarEndCameraControl::Attach(PVideoInputDevice*, PString const&) (h281.cxx:764) --------------------------------------------------------------------------------------------------------------------------- ==12540== Conditional jump or move depends on uninitialised value(s) ==12540== at 0x573A3A1: OpalAudioJitterBuffer::CalculateRequiredTimestamp(unsigned int) const (jitter.cxx:540) ==12540== by 0x573A712: OpalAudioJitterBuffer::ReadData(RTP_DataFrame&, PTimeInterval const&, PTimeInterval) (jitter.cxx:596) ==12540== by 0x57369E1: OpalRTPMediaStream::ReadPacket(RTP_DataFrame&) (rtp_stream.cxx:328) ==12540== by 0x56FD943: OpalMediaPatch::Main() (patch.cxx:780) ==12540== by 0x5704BF0: PThreadObj<OpalMediaPatch>::Main() (thread.h:737) ==12540== by 0x66005FB: PThread::PX_ThreadMain(void*) (tlibthrd.cxx:348) ==12540== by 0x903A6A9: start_thread (pthread_create.c:333) ==12540== by 0x6E0BE9C: clone (clone.S:109) ==12540== Full log with valgrind output enclosed. |