EMU-driver icon indicating copy to clipboard operation
EMU-driver copied to clipboard

control panel crashing

Open Wouter1 opened this issue 9 years ago • 8 comments

Tom reports in #40 that the control panel is crashing sometimes

THis happens when using driver 3.5.1 and changing the rate from reaper

Wouter1 avatar Mar 08 '15 17:03 Wouter1

Tom, can you post a stacktrace of the crash?And maybe a zip file log messages during the crash? Maybe you can pick what you think are the most relevant and replace 100's of repeated messages with "..." or something

Wouter1 avatar Mar 08 '15 17:03 Wouter1

One theory is that the driver does not completely stop anymore. There were changes in the stop procedure, because the driver now reads more proactively ahead of the completion callback.

Wouter1 avatar Mar 08 '15 21:03 Wouter1

This may be related to the problem that switching the sample rate in reaper does not work anymore, since both problems appear in the same driver version 3.5.1

Wouter1 avatar Mar 09 '15 20:03 Wouter1

I switched rates a number of times in reaper, every time checking the logs. And then it works fine. I think that what happens is that the audio streams are STOPPED COMPLETELY when you switch out of the reaper app. If you then switch back to reaper the stream is started afresh and then it works fine.

Wouter1 avatar Mar 09 '15 21:03 Wouter1

Yes confirmed, if you just switch the rate inside reaper, something goes wrong. If you then switch out of reaper (with nothing playing/recording inside reaper) and switch back into reaper, it starts working again.

Wouter1 avatar Mar 09 '15 21:03 Wouter1

This is the message when switching rates inside reaper from 44k to 48k after which audio does not work anymore

Mar  9 22:29:01 vlieland kernel[0]: +EMUUSBAudioEngine[0xffffff803e5f5000]::stopUSBStream ()
Mar  9 22:29:01 vlieland kernel[0]: All playback streams stopped
Mar  9 22:29:02 vlieland kernel[0]: -EMUUSBAudioEngine[0xffffff803e5f5000]::stopUSBStream ()
Mar  9 22:29:02 vlieland kernel[0]: +EMUUSBAudioEngine::performFormatChange existing  sampleRate is 44100 direction 0
Mar  9 22:29:02 vlieland kernel[0]: fDriverTag = 0x1000e
Mar  9 22:29:02 vlieland kernel[0]: Changing sampling rate to 48000
Mar  9 22:29:02 vlieland kernel[0]: ++about to set input : ourInterfaceNumber = 2 & newAlternateSettingID = 14
Mar  9 22:29:02 vlieland kernel[0]: averageSampleRate = 48000
Mar  9 22:29:02 vlieland kernel[0]: ++about to set output : ourInterfaceNumber = 1 & newAlternateSettingID = 14
Mar  9 22:29:02 vlieland kernel[0]: called setNumSampleFramesPerBuffer with 8192
Mar  9 22:29:02 vlieland kernel[0]: newFormat->fNumChannels = 4, newFormat->fBitWidth 24
Mar  9 22:29:02 vlieland kernel[0]: -EMUUSBAudioEngine::performFormatChange, result = 0
Mar  9 22:29:02 vlieland kernel[0]: +EMUUSBAudioEngine[0xffffff803e5f5000]::performAudioEngineStart ()
Mar  9 22:29:02 vlieland kernel[0]: create output pipe 
Mar  9 22:29:02 vlieland kernel[0]: check for associated endpoint
Mar  9 22:29:02 vlieland kernel[0]: frameSizeQueue empty, guessing some queue size. May need fix..
Mar  9 22:29:02 --- last message repeated 127 times ---
Mar  9 22:29:02 vlieland kernel[0]: +EMUUSBAudioEngine[0xffffff803e5f5000]::stopUSBStream ()
Mar  9 22:29:02 vlieland kernel[0]: All playback streams stopped
Mar  9 22:29:03 vlieland kernel[0]: -EMUUSBAudioEngine[0xffffff803e5f5000]::stopUSBStream ()
Mar  9 22:29:03 vlieland kernel[0]: +EMUUSBAudioEngine::performFormatChange existing  sampleRate is 48000 direction 0
Mar  9 22:29:03 vlieland kernel[0]: fDriverTag = 0x1000e
Mar  9 22:29:03 vlieland kernel[0]: ++about to set output : ourInterfaceNumber = 1 & newAlternateSettingID = 14
Mar  9 22:29:03 vlieland kernel[0]: called setNumSampleFramesPerBuffer with 8192
Mar  9 22:29:03 vlieland kernel[0]: newFormat->fNumChannels = 4, newFormat->fBitWidth 24
Mar  9 22:29:03 vlieland kernel[0]: -EMUUSBAudioEngine::performFormatChange, result = 0
Mar  9 22:29:03 vlieland kernel[0]: EMUXUCustomControl::hardwareValueChanged value 0
Mar  9 22:29:03 vlieland kernel[0]: EMUXUCustomControl::hardwareValueChanged result 0
Mar  9 22:29:03 vlieland kernel[0]: EMUXUCustomControl::hardwareValueChanged value 1
Mar  9 22:29:03 vlieland kernel[0]: EMUXUCustomControl::hardwareValueChanged result 0
Mar  9 22:29:03 vlieland kernel[0]: +EMUUSBAudioEngine[0xffffff803e5f5000]::performAudioEngineStart ()
Mar  9 22:29:03 vlieland kernel[0]: create output pipe 
Mar  9 22:29:03 vlieland kernel[0]: check for associated endpoint
Mar  9 22:29:03 vlieland kernel[0]: frameSizeQueue empty, guessing some queue size. May need fix..
Mar  9 22:29:03 --- last message repeated 127 times ---
Mar  9 22:29:03 vlieland kernel[0]: warning way-out ring wrap position
Mar  9 22:29:03 --- last message repeated 4 times ---
Mar  9 22:29:03 vlieland kernel[0]: frameSizeQueue empty, guessing some queue size. May need fix..
Mar  9 22:29:04 --- last message repeated 117 times ---
Mar  9 22:29:04 vlieland kernel[0]: warning way-out ring wrap position
Mar  9 22:29:04 --- last message repeated 3 times ---
Mar  9 22:29:04 vlieland kernel[0]: RingBufferDefault<USBInputRing>::push warning. Ignoring overrun
Mar  9 22:29:04 vlieland kernel[0]: warning way-out ring wrap position
Mar  9 22:29:04 --- last message repeated 3 times ---
Mar  9 22:29:04 vlieland kernel[0]: RingBufferDefault<USBInputRing>::push warning. Ignoring overrun
Mar  9 22:29:04 vlieland kernel[0]: warning way-out ring wrap position
Mar  9 22:29:04 --- last message repeated 3 times ---
Mar  9 22:29:04 vlieland kernel[0]: RingBufferDefault<USBInputRing>::push warning. Ignoring overrun
Mar  9 22:29:04 vlieland kernel[0]: warning way-out ring wrap position
Mar  9 22:29:04 --- last message repeated 3 times ---
Mar  9 22:29:04 vlieland kernel[0]: RingBufferDefault<USBInputRing>::push warning. Ignoring overrun
Mar  9 22:29:04 vlieland kernel[0]: warning way-out ring wrap position
Mar  9 22:29:04 --- last message repeated 3 times ---
Mar  9 22:29:04 vlieland kernel[0]: RingBufferDefault<USBInputRing>::push warning. Ignoring overrun
Mar  9 22:29:04 vlieland kernel[0]: LowPassFilter::filter init 170666666
Mar  9 22:29:04 vlieland kernel[0]: USB timer started
Mar  9 22:29:05 vlieland kernel[0]: RingBufferDefault<USBInputRing>::push warning. Ignoring overrun
Mar  9 22:29:05 --- last message repeated 5 times ---
Mar  9 22:29:05 vlieland kernel[0]: EMUUSBAudioEngine::convertInputSamples READ HICKUP
Mar  9 22:29:05 vlieland kernel[0]: **** Output Hiccup!! firstSampleFrame=940, nextExpectedOutputFrame=1440 bufsize=98304
Mar  9 22:29:06 vlieland kernel[0]: EMUUSBAudioEngine::convertInputSamples READ HICKUP
Mar  9 22:29:06 vlieland kernel[0]: **** Output Hiccup!! firstSampleFrame=948, nextExpectedOutputFrame=1836 bufsize=98304
Mar  9 22:29:06 vlieland kernel[0]: RingBufferDefault<USBInputRing>::push warning. Ignoring overrun
Mar  9 22:29:06 vlieland kernel[0]: EMUUSBAudioEngine::convertInputSamples READ HICKUP
Mar  9 22:29:06 vlieland kernel[0]: **** Output Hiccup!! firstSampleFrame=1076, nextExpectedOutputFrame=1780 bufsize=98304

This is when you switch with quicktime player 7 from 44k to 48k after which audio works fine


Mar  9 22:26:55 --- last message repeated 44 times ---
Mar  9 22:26:55 vlieland kernel[0]: +EMUUSBAudioEngine[0xffffff803e5f5000]::stopUSBStream ()
Mar  9 22:26:55 vlieland kernel[0]: All playback streams stopped
Mar  9 22:26:56 vlieland kernel[0]: -EMUUSBAudioEngine[0xffffff803e5f5000]::stopUSBStream ()
Mar  9 22:26:56 vlieland kernel[0]: +EMUUSBAudioEngine::performFormatChange existing  sampleRate is 44100 direction 0
Mar  9 22:26:56 vlieland kernel[0]: fDriverTag = 0x1000e
Mar  9 22:26:56 vlieland kernel[0]: Changing sampling rate to 48000
Mar  9 22:26:56 vlieland kernel[0]: ++about to set input : ourInterfaceNumber = 2 & newAlternateSettingID = 14
Mar  9 22:26:56 vlieland kernel[0]: averageSampleRate = 48000
Mar  9 22:26:56 vlieland kernel[0]: ++about to set output : ourInterfaceNumber = 1 & newAlternateSettingID = 14
Mar  9 22:26:56 vlieland kernel[0]: called setNumSampleFramesPerBuffer with 8192
Mar  9 22:26:56 vlieland kernel[0]: newFormat->fNumChannels = 4, newFormat->fBitWidth 24
Mar  9 22:26:56 vlieland kernel[0]: -EMUUSBAudioEngine::performFormatChange, result = 0
Mar  9 22:26:56 vlieland kernel[0]: +EMUUSBAudioEngine[0xffffff803e5f5000]::performAudioEngineStart ()
Mar  9 22:26:56 vlieland kernel[0]: create output pipe 
Mar  9 22:26:56 vlieland kernel[0]: check for associated endpoint
Mar  9 22:26:56 vlieland kernel[0]: frameSizeQueue empty, guessing some queue size. May need fix..
Mar  9 22:26:56 --- last message repeated 127 times ---
Mar  9 22:26:56 vlieland kernel[0]: warning way-out ring wrap position
Mar  9 22:26:56 --- last message repeated 1 time ---
Mar  9 22:26:56 vlieland kernel[0]: EMUXUCustomControl::hardwareValueChanged value 0
Mar  9 22:26:56 vlieland kernel[0]: EMUXUCustomControl::hardwareValueChanged result 0
Mar  9 22:26:56 vlieland kernel[0]: EMUXUCustomControl::hardwareValueChanged value 1
Mar  9 22:26:56 vlieland kernel[0]: EMUXUCustomControl::hardwareValueChanged result 0
Mar  9 22:26:56 vlieland kernel[0]: warning way-out ring wrap position
Mar  9 22:26:56 vlieland kernel[0]: frameSizeQueue empty, guessing some queue size. May need fix..
Mar  9 22:26:56 --- last message repeated 63 times ---
Mar  9 22:26:56 vlieland kernel[0]: warning way-out ring wrap position
Mar  9 22:26:56 --- last message repeated 2 times ---
Mar  9 22:26:56 vlieland kernel[0]: RingBufferDefault<USBInputRing>::push warning. Ignoring overrun
Mar  9 22:26:56 vlieland kernel[0]: warning way-out ring wrap position
Mar  9 22:26:57 --- last message repeated 3 times ---
Mar  9 22:26:57 vlieland kernel[0]: RingBufferDefault<USBInputRing>::push warning. Ignoring overrun
Mar  9 22:26:57 vlieland kernel[0]: warning way-out ring wrap position
Mar  9 22:26:57 --- last message repeated 4 times ---
Mar  9 22:26:57 vlieland kernel[0]: RingBufferDefault<USBInputRing>::push warning. Ignoring overrun
Mar  9 22:26:57 vlieland kernel[0]: warning way-out ring wrap position
Mar  9 22:26:57 --- last message repeated 2 times ---
Mar  9 22:26:57 vlieland kernel[0]: RingBufferDefault<USBInputRing>::push warning. Ignoring overrun
Mar  9 22:26:57 vlieland kernel[0]: warning way-out ring wrap position
Mar  9 22:26:57 --- last message repeated 3 times ---
Mar  9 22:26:57 vlieland kernel[0]: RingBufferDefault<USBInputRing>::push warning. Ignoring overrun
Mar  9 22:26:57 vlieland kernel[0]: LowPassFilter::filter init 170666666
Mar  9 22:26:57 vlieland kernel[0]: USB timer started
Mar  9 22:26:57 vlieland kernel[0]: RingBufferDefault<USBInputRing>::push warning. Ignoring overrun
Mar  9 22:26:57 vlieland kernel[0]: **** Output Hiccup!! firstSampleFrame=2784, nextExpectedOutputFrame=452 bufsize=98304
Mar  9 22:26:57 vlieland kernel[0]: RingBufferDefault<USBInputRing>::push warning. Ignoring overrun
Mar  9 22:26:57 vlieland kernel[0]: **** Output Hiccup!! firstSampleFrame=2084, nextExpectedOutputFrame=3296 bufsize=98304
Mar  9 22:26:58 vlieland kernel[0]: RingBufferDefault<USBInputRing>::push warning. Ignoring overrun

Wouter1 avatar Mar 09 '15 21:03 Wouter1

seems that reaper is performing stopUSBStream , then a performAudioEngineStart followed instantly by a stop, and then a start again.

Wouter1 avatar Mar 09 '15 21:03 Wouter1

I found the control panel to crash if you turn off the EMU with the control panel still running but its window closed.

Wouter1 avatar Oct 21 '15 19:10 Wouter1