Crash when using two different soundcards

Bug #259566 reported by anti
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mixxx
Invalid
Undecided
Unassigned

Bug Description

Soundcard for master: M-Audio Audiophile USB (snd-usb-audio)
Soundcard for headphones: Intel Corporation 82801H (ICH8 Family) HD Audio Controller (rev 03) (sdn-hda-intel)

anti@xxxxxxx:~$ mixxx
Warning: Qt: Session management error: Authentication Rejected, reason : None of the authentication protocols specified are supported and host-based authentication failed
Debug: Mixxx 1.6.0 "" is starting...
Debug: ControlObject::getControl returning NULL for ( "[Mixer Profile]" , "LoEQFrequency" )
Debug: SampleRate 44100
Debug: Latency 64
Debug: createWaveformViewer()
Debug: WaveformViewerFactory :: Creating new visual waveform
Debug: WaveformViewerFactory :: Making new GL context.
Debug: WaveformRenderBeat :: samples = 0
Debug: WaveformRenderMark :: samples = 0
Debug: WaveformRenderer::setupControlObjects - VisualResample: 400
Debug: Got bgColor QColor(ARGB 1, 0.0980392, 0.0980392, 0.0980392)
Debug: Got signalColor QColor(ARGB 1, 0, 0.803922, 0)
Debug: createWaveformViewer()
Debug: WaveformViewerFactory :: Creating new visual waveform
Debug: WaveformViewerFactory :: Sharing existing GL context.
Debug: WaveformRenderBeat :: samples = 0
Debug: WaveformRenderMark :: samples = 0
Debug: WaveformRenderer::setupControlObjects - VisualResample: 400
Debug: Got bgColor QColor(ARGB 1, 0.0980392, 0.0980392, 0.0980392)
Debug: Got signalColor QColor(ARGB 1, 0, 0.803922, 0)
Debug: Loading playlists and library tracks from XML...
Debug: Track::readXML "/home/anti/.mixxxtrack.xml"
Debug: Promo track directory does not exist: "/usr/share/mixxx/promo"
Debug: Constructed LibraryScanner!!!
Debug: No playlists, returning
Debug: FIXME: Need to tell the m_pPlaylistListModel to refresh in src/track.cpp on line: 1296
Debug: Trying to add 1325 songs to the library playlist
Debug: Adjusting column widths: tracktable width = 582 1% of that is: 5.82 FIXME: this should be done when initalizing the skin.
Debug: Shrinking Title/Comment for small screen...
Debug: FIXME: repaintEverything switches table model and shouldn't do that when viewing the playlist model in src/wtracktableview.cpp: 222
Debug: selectedAPI is: "ALSA"
Debug: Warning: Creation of the midi queue failed. Funzione non permessa
Debug: PowerMate: write(): Descrittore di file errato
Debug: PowerMate: write(): Descrittore di file errato
Debug: HerculesLinux: Constructor called
Debug: m_pHercules init: QThread(0x841ac20)
Debug: Starting Hercules DJ Console detection
No Hercules DJ Console found
Debug: Sorry, no love.
Debug: Midi OK (Workaround not required)
Debug: setupMappings( "/usr/share/mixxx/midi/Akai MPD24.midi.xml" )
Debug: loadSettings: 1 0 ""
Debug: slotApply crossfader: 1 ""
Debug: BpmSchemes::readXML "/home/anti/.mixxxbpmscheme.xml"
Debug: SoundManager::setupDevices()
Debug: Building timecode lookup tables...
Allocating 2097152 slots (8192Kb) for 20 bit timecode (Serato 2nd Ed., side A)
Debug: Building timecode lookup tables...
Allocating 2097152 slots (8192Kb) for 20 bit timecode (Serato 2nd Ed., side A)
Debug: iNumDevicesOpenedForOutput: 0
Debug: iNumDevicesOpenedForInput: 0
Debug: DlgPrefVinyl::slotUpdate()
Debug: DlgPrefVinyl::Apply
Debug: in VinylGainSlotApply() with gain: 1
Debug: DlgPrefVinyl::slotUpdate()
Debug: DlgPrefSound::Apply
Debug: Setting ChannelMaster in config to: "0"
Debug: request msec 64
Debug: SoundManager::setupDevices()
Debug: Building timecode lookup tables...
Allocating 2097152 slots (8192Kb) for 20 bit timecode (Serato 2nd Ed., side A)
Debug: Building timecode lookup tables...
Allocating 2097152 slots (8192Kb) for 20 bit timecode (Serato 2nd Ed., side A)
Debug: SoundDevicePortAudio::open() "2, HDA Intel: ALC268 Analog (hw:0,0)"
Debug: m_dSampleRate 44100
Debug: iLatencyMSec: 64
Debug: output channels: 2 | input channels: 0
Debug: iLatencySamples: 5648
Debug: iLatencyMSec: 64
Debug: Opening stream with id 2
Debug: Opened PortAudio stream successfully... starting
Debug: Dynamically loaded PortAudio library!
Debug: PortAudio: Started stream successfully
Debug: SoundDevicePortAudio::open() "4, Audiophile USB (tm): USB Audio (hw:1,0)"
Debug: m_dSampleRate 44100
Debug: iLatencyMSec: 64
Debug: output channels: 2 | input channels: 0
Debug: iLatencySamples: 5648
Debug: iLatencyMSec: 64
Debug: Opening stream with id 4
mixxx: mask_inline.h:160: snd_mask_leave: Assertion 'val <= 64' failed.
Aborted

Tags: assert fatal
Revision history for this message
Navaho Gunleg (navahogunleg) wrote :

For what it's worth: I have observed a similar assertion failure while I was trying to get the Native Instruments Audio 4 DJ USB audio interface to work properly on my system, and trying to access the device directly (hw:0,0).

After having discovered that, for instance, xwax worked fine with "plughw:0,0,0" and "plughw:0,0,1", I googled a bit and, apart from hitting this page, I discovered that apparently some USB audio devices have "subdevices". perhaps this is also the case with the M-Audio hardware, and this is not specifically a problem with two different soundcards?

So.. Might anyone stumble here like I did, with possibly the same problem like me: I configured ALSA to route "usb_1" and a "usb_2" to these plughw devices so they would appear in the sound system set-up in Mixxx. The assertion failure has since gone away (and the audio device works properly too). This is what I have in /etc/asound.conf, and this allows me to select usb_1 for main output, usb_2 for headphones, and usb_1 / usb_2 for the vinyl control decks:

pcm.usb_1 {
        type route
        slave {
                pcm "plughw:0,0,0"
                channels 2
        }
        ttable.0.0 1
        ttable.1.1 1
}

pcm.usb_2 {
        type route
        slave {
                pcm "plughw:0,0,1"
                channels 2
        }
        ttable.0.0 1
        ttable.1.1 1
}

Revision history for this message
PoUpA (euphorikdjs) wrote :

I got the same problem, after looking in the code it seems that it's related to portaudio alsa host api "interfacing" who don't handle subdevices properly.
Your fix sadly didn't worked for me i got a choppy sound when trying to use the routed interfaces. So i will stick back to xwax for a bit, perhaps trying to fix portaudio alsa for that if i got the time.

Revision history for this message
RJ Skerry-Ryan (rryan) wrote :

Apparently a PortAudio issue. None of have hardware to test either so I'm afraid we can't do much.

Changed in mixxx:
status: New → Invalid
Revision history for this message
Swiftb0y (swiftb0y) wrote :

Mixxx now uses GitHub for bug tracking. This bug has been migrated to:
https://github.com/mixxxdj/mixxx/issues/5023

lock status: Metadata changes locked and limited to project staff
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.