Open ethanhugg opened 13 years ago
I have tried but have not been able to reproduce this, I have tried swapping out cameras, and on both mac and linux. I may need to do it on 64-bit to reproduce I have just been trying on 32-bit, and maybe on a machine that does not have an inbuilt camera.
It seems there is an issue with the CC_Device pointer when destructing as part of the chromium class linked_ptr in CallControlManagerImpl::notifyDeviceEventObservers on function exit.
Enda
Ran into this while demoing the add-on here at Mozilla on Friday (fortunately during the setup, rather than the actual demo):
SIPCC-SIP_CC_PROV: capset_get_idleset: updating idleset Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7fffd01fe710 (LWP 7923)] 0x00007fffe2c0b9a0 in linked_ptr_internal::depart (this=0x7fffd01fd888) at third_party/chromium_base/base/linkedptr.h:68 68 while (p->next != this) p = p->next_; (gdb) bt
0 0x00007fffe2c0b9a0 in linked_ptr_internal::depart (this=0x7fffd01fd888)
1 0x00007fffe2c0b9cf in linked_ptrCSF::CC_Device::depart (
2 0x00007fffe2c0f9f0 in linked_ptrCSF::CC_Device::~linked_ptr() ()
3 0x00007fffe2c0eb61 in
CSF::CallControlManagerImpl::notifyDeviceEventObservers (this=0x7fffd8d880c0, deviceEvent=CCAPI_DEVICE_EV_CAMERA_ADMIN_CONFIG_CHANGED, devicePtr=..., info=...) at src/callcontrol/CallControlManagerImpl.cpp:389
4 0x00007fffe2c0e86f in CSF::CallControlManagerImpl::onDeviceEvent (
devicePtr=..., info=...) at src/callcontrol/CallControlManagerImpl.cpp:367
5 0x00007fffe2c1959d in CSF::CC_SIPCCService::notifyDeviceEventObservers (
6 0x00007fffe2c18201 in CSF::CC_SIPCCService::onDeviceEvent (
7 0x00007fffe2c15d26 in CCAPI_DeviceListener_onDeviceEvent (
src/softphonewrapper/CC_SIPCCService.cpp:424
8 0x00007fffe2c25867 in ccsnap_gen_deviceEvent (
9 0x00007fffe2c63013 in cc_media_update_native_video_txcap (enable=1
'\001') at src/sipcc/core/gsm/media_cap_tbl.c:166
10 0x00007fffe2c28d96 in processProviderEvent (line_id=0, event=17, data=1)
11 0x00007fffe2c28f33 in ccp_handler (msg=0x7fffd039f2d4, type=13)
12 0x00007fffe2cb3479 in CCApp_task (arg=)
13 0x00007ffff7bc8a36 in start_thread (arg=0x7fffd01fe710)
14 0x00007ffff44ff94d in clone ()
(gdb) p p $1 = (const void *) 0x0
This is on a 64-bit Linux build from 8c669ebc with the patches I sent earlier applied (I haven't touched that particular build since before OVC because once I got it working I didn't want to break it).