Latest pulseaudio git master crashes here on startup with an assertion: Assertion 'jack->path && jack->path->port' failed at modules/alsa/module-alsa-card.c:381, function report_jack_state(). Aborting. This is a regression compared to 4.0 and I've bisected it to the following commit; reverting it fixes the crash for me: commit ecf3ab2b5788c85c237eeb6429bd1d525b9ac0cc Author: David Henningsson <david.henningsson@canonical.com> Date: Tue Jun 4 15:41:57 2013 +0200 alsa-mixer: Add "Line Out" path If there is a "Line Out" jack present, then add this path. The fallback analog-output will be a subset of this path and removed. I only use the "Line Out Jack" or "Line Out Front Jack" for actual jack detection - without anything connected to the front jack, it makes little sense to enable the port. (Another option could perhaps be to use different paths for stereo line out and surround line outs, but that could be a possible future improvement.)
Created attachment 86317 [details] alsa-info
Created attachment 86318 [details] PA debug log
Created attachment 86319 [details] backtrace
the emulated hda codec does support Jack detection DMI Information !!--------------- Manufacturer: Bochs Product Name: Bochs Product Version: Firmware Version: Bochs Codec: Generic 1af4 ID 22 Address: 0 AFG Function Id: 0x1 (unsol 0) Vendor Id: 0x1af40022 Subsystem Id: 0x1af40022 Revision Id: 0x100101 Node 0x03 [Pin Complex] wcaps 0x400101: Stereo Control: name="Line Out Phantom Jack", index=0, device=0 Pincap 0x00000010: OUT Pin Default 0x00004010: [Jack] Line Out at Ext N/A Conn = Unknown, Color = Green DefAssociation = 0x1, Sequence = 0x0 Pin-ctls: 0x40: OUT Connection: 1 0x02 control.5 { iface CARD name 'Line Phantom Jack' value true comment { access read type BOOLEAN count 1 } } control.6 { iface CARD name 'Line Out Phantom Jack' value true comment { access read type BOOLEAN count 1 } }
Hi Kalev and thanks for testing, and the detailed bug report! First, can you verify if it is jack->path or jack->path->port that fails, e g like this: http://lists.freedesktop.org/archives/pulseaudio-discuss/2013-September/018730.html Assuming it's the latter (port) that fails, this port should have been added in add_profiles -> pa_alsa_path_set_add_ports -> device_port_alsa_init. I'm not exactly understanding why this does not happen. Could you add some more instrumentation to this path, like in the attachment, and make a new PA debug log? Thanks!
Created attachment 86341 [details] [review] more debug info
(In reply to comment #5) > Hi Kalev and thanks for testing, and the detailed bug report! Thanks for looking at this, much appreciated! > First, can you verify if it is jack->path or jack->path->port that fails, e > g like this: > http://lists.freedesktop.org/archives/pulseaudio-discuss/2013-September/ > 018730.html It's the port, yes -- sorry, I should have mentioned that I printed out some of the struct members at the end of the attached backtrace log. > Assuming it's the latter (port) that fails, this port should have been added > in add_profiles -> pa_alsa_path_set_add_ports -> device_port_alsa_init. I'm > not exactly understanding why this does not happen. > > Could you add some more instrumentation to this path, like in the > attachment, and make a new PA debug log? Thanks! Done. I added a little bit more instrumentation there, attaching the diff as well for reference.
Created attachment 86355 [details] [review] more debug info
Created attachment 86356 [details] PA debug log 2
Thanks. I now saw the end of the backtrace, giving us a hint: (gdb) p jack->path->name $5 = 0x6f4740 "analog-output" Analog output is removed (because analog-output-lineout is there), but it seems its jacks are somehow lingering around anyway. Giving this a thought, I think the best thing to do is to remove that path a little more at the end of function "pa_alsa_profile_set_probe" where we also drop unsupported paths. This path is supported, but it's superfluous so it's dropped from the path set but not from the profile set.
Created attachment 86358 [details] Drop unused paths Could you check if this patch resolves your issue without causing any other issues? Thanks!
(In reply to comment #11) > Created attachment 86358 [details] > Drop unused paths I can confirm this fixes the crash and pulseaudio seems to work fine otherwise. Thanks David!
The patch has been applied already a long time ago, marking bug as fixed.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.