Closed
Bug 740350
Opened 13 years ago
Closed 13 years ago
Memory crash in sipcc - VcmSIPCCBinding::~VcmSIPCCBinding ()
Categories
(Core :: WebRTC: Signaling, defect)
Core
WebRTC: Signaling
Tracking
()
RESOLVED
WORKSFORME
People
(Reporter: jesup, Unassigned)
References
Details
(Whiteboard: [qa-])
Took an assertion in jemalloc that leads back to VcmSIPCBinding():
media/webrtc/signaling/src/media/VcmSIPCCBinding.cpp
../../../memory/jemalloc/jemalloc.c:3291: Failed assertion: "diff == regind * size"
Program received signal SIGABRT, Aborted.
0x0000003151635215 in __GI_raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
64 return INLINE_SYSCALL (tgkill, 3, pid, selftid, sig);
(gdb) up
#1 0x0000003151636b2b in __GI_abort () at abort.c:93
93 raise (SIGABRT);
(gdb)
#2 0x000000000041280f in arena_run_reg_dalloc (run=0x7fffe3d20000, bin=0x7ffff7ed7838, ptr=0x7fffe3d23570, size=256)
at ../../../memory/jemalloc/jemalloc.c:3291
3291 assert(diff == regind * size);
(gdb) p diff
$31 = 13424
(gdb) p regind
$32 = 52
(gdb) p size
$33 = 256
(gdb) p regind*size
$34 = 13312
The code does something very funky in the allocator:
VcmSIPCCBinding * VcmSIPCCBinding::_pSelf = NULL;
// The media provider passsed in here will be owned by VcmSIPCCBinding, and so it destroys
// it later.
VcmSIPCCBinding::VcmSIPCCBinding (MediaProvider *mp)
: pMediaProvider(mp),
streamObserver(NULL)
{
delete _pSelf;//delete is NULL safe, so I don't need to check if it's NULL
_pSelf = this;
}
Reporter | ||
Comment 1•13 years ago
|
||
This still randomly crashes me (not too often) when leaving pages using WebrtcContext. At minimum it probably needs mutexes around the _pSelf games, and probably it needs to be recoded/redesigned. A doesn't-crash fix would be good enough for now.
Updated•13 years ago
|
QA Contact: jsmith
Updated•13 years ago
|
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
Updated•13 years ago
|
Whiteboard: [qa-]
Updated•13 years ago
|
Flags: in-testsuite-
Comment 2•13 years ago
|
||
There is no link to a check-in so we should call it WFM.
Resolution: FIXED → WORKSFORME
You need to log in
before you can comment on or make changes to this bug.
Description
•