Closed Bug 1272392 Opened 8 years ago Closed 8 years ago

assert(r == noErr) failed in cubeb_audiounit.c when unplugging Logitech C910 while microphone running

Categories

(Core :: Audio/Video: cubeb, defect, P1)

x86
macOS
defect

Tracking

()

RESOLVED DUPLICATE of bug 1269472
Tracking Status
firefox49 --- affected

People

(Reporter: jib, Unassigned)

References

Details

STR: 1. On OSX, insert Logitech C910 camera in USB port (possibly other Logitech?) 1. In debug nightly, open https://jsfiddle.net/ja800a6q/ 3. Pick and share its microphone ("Unknown USB Audio Device"). 4. After success (audio feedback), unplug camera. Expected result: silence Actual result: crash in debug build: com.apple.audio.IOThread.client (44)#0 0x00007fff92b890ae in __pthread_kill () #1 0x00007fff99bd2500 in pthread_kill () #2 0x00007fff8688937b in abort () #3 0x00007fff868509c4 in __assert_rtn () #4 0x0000000106484e5a in audiounit_input_callback at /Users/Jan/moz/mozilla-central/media/libcubeb/src/cubeb_audiounit.c:196 #5 0x000000012b089819 in AUHAL::AUIOProc(unsigned int, AudioTimeStamp const*, AudioBufferList const*, AudioTimeStamp const*, AudioBufferList*, AudioTimeStamp const*, void*) () #6 0x00007fff8ed0bea3 in HALC_ProxyIOContext::IOWorkLoop() () #7 0x00007fff8ed0b3ee in HALC_ProxyIOContext::IOThreadEntry(void*) () #8 0x00007fff8ed0b2c3 in HALB_IOThread::Entry(void*) () #9 0x00007fff99bcf9b1 in _pthread_body () #10 0x00007fff99bcf92e in _pthread_start () #11 0x00007fff99bcd385 in thread_start () user_ptr void * 0x125096550 0x0000000125096550 flags AudioUnitRenderActionFlags * 0x70000247cc54 0x000070000247cc54 *flags AudioUnitRenderActionFlags 16 16 tstamp const AudioTimeStamp * 0x124f870a0 0x0000000124f870a0 mSampleTime Float64 8 8 mHostTime UInt64 692297212964 692297212964 mRateScalar Float64 1.0000000007812502 1.0000000007812502 mWordClockTime UInt64 0 0 mSMPTETime SMPTETime mFlags UInt32 7 7 mReserved UInt32 0 0 bus UInt32 1 1 input_frames UInt32 512 512 bufs AudioBufferList * NULL 0x0000000000000000 stm cubeb_stream * 0x125096550 0x0000000125096550 context cubeb * 0x164f157b0 0x0000000164f157b0 data_callback cubeb_data_callback (AudioCallbackDriver::DataCallback_s at GraphDriver.cpp:767) state_callback cubeb_state_callback (AudioCallbackDriver::StateCallback_s at GraphDriver.cpp:776) device_changed_callback cubeb_device_changed_callback (AudioCallbackDriver::DeviceChangedCallback_s at GraphDriver.cpp:783) ptr mozilla::AudioCallbackDriver * 0x164f0c000 0x0000000164f0c000 input_desc AudioStreamBasicDescription output_desc AudioStreamBasicDescription input_unit AudioUnit 0x80202069 0x0000000080202069 output_unit AudioUnit 0x8020206a 0x000000008020206a input_hw_rate Float64 16000 16000 mutex pthread_mutex_t input_buffer_array ring_array input_buffer_frames uint32_t 512 512 frames_played uint64_t 263680 263680 frames_queued uint64_t 264192 264192 frames_read uint64_t 82432 82432 shutdown int 0 0 draining int 0 0 current_latency_frames uint64_t 651 651 hw_latency_frames uint64_t 18446744073709551615 18446744073709551615 panning float 1 1 resampler cubeb_resampler_speex<float, cubeb_resampler_speex_one_way<float>, delay_line<float> > * input_processor UniquePtr<cubeb_resampler_speex_one_way<float>, DefaultDelete<cubeb_resampler_speex_one_way<float> > > output_processor UniquePtr<delay_line<float>, DefaultDelete<delay_line<float> > > fill_internal cubeb_resampler_speex<float, cubeb_resampler_speex_one_way<float>, delay_line<float> >::processing_callback stream cubeb_stream *const 0x125096550 0x0000000125096550 data_callback cubeb_data_callback (AudioCallbackDriver::DataCallback_s at GraphDriver.cpp:767) user_ptr mozilla::AudioCallbackDriver * 0x164f0c000 0x0000000164f0c000 outframes long 7453291829488779264 7453291829488779264 frames long 140735589323105 140735589323105 input_buffer AudioBuffer * 0x12551f110 0x000000012551f110 input_buffer_list AudioBufferList r OSStatus -10863 -10863 The asserted value (r) is -10863. We should probably handle unplugging better.
This was with e10s btw.
Rank: 15
Priority: -- → P1
See Also: → 1272588
The assert is replaced by error handling with bug 1269472 which is landed: Last Resolved: 2016-05-05 22:26:30 PDT status-firefox49: affected → fixed
Great. Sounds like from bug 1269472 comment 1 that this is the same.
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.