After some debugging, I ended up doing strace on the pulseaudio server
to see if I could spot the issue and I think this is the closest I got
(in the attachment there's a bit more info):

write(5, "W", 1)                        = 1
read(16, "\0\0\0\0\1\0\0\0(\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0Front He"..., 72) = 72
ioctl(16, SNDRV_CTL_IOCTL_ELEM_READ, 0x7fff1d114f40) = 0
write(5, "W", 1)                        = 1
write(19, "\1\0\0\0\0\0\0\0", 8)        = 8
futex(0x561a8db98540, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, NULL, 
FUTEX_BITSET_MATCH_ANY) = 0
write(19, "\1\0\0\0\0\0\0\0", 8)        = 8
futex(0x561a8db98540, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, NULL, 
FUTEX_BITSET_MATCH_ANY) = -1 EAGAIN (Resource temporarily unavailable)
write(19, "\1\0\0\0\0\0\0\0", 8)        = 8
futex(0x561a8db98540, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, NULL, 
FUTEX_BITSET_MATCH_ANY) = 0
read(16, "\0\0\0\0\1\0\0\0\v\0\0\0\2\0\0\0\0\0\0\0\0\0\0\0Headphon"..., 72) = 72
ioctl(16, SNDRV_CTL_IOCTL_ELEM_READ, 0x7fff1d114880) = 0
ioctl(16, SNDRV_CTL_IOCTL_ELEM_READ, 0x7fff1d114890) = 0
read(16, "\0\0\0\0\1\0\0\0\n\0\0\0\2\0\0\0\0\0\0\0\0\0\0\0Headphon"..., 72) = 72
ioctl(16, SNDRV_CTL_IOCTL_ELEM_READ, 0x7fff1d114880) = 0
ioctl(16, SNDRV_CTL_IOCTL_ELEM_READ, 0x7fff1d114890) = 0
read(16, "\0\0\0\0\1\0\0\0\5\0\0\0\2\0\0\0\0\0\0\0\0\0\0\0Surround"..., 72) = 72
ioctl(16, SNDRV_CTL_IOCTL_ELEM_READ, 0x7fff1d114880) = 0
ioctl(16, SNDRV_CTL_IOCTL_ELEM_READ, 0x7fff1d114890) = 0
read(16, "\0\0\0\0\1\0\0\0\10\0\0\0\2\0\0\0\0\0\0\0\0\0\0\0Center P"..., 72) = 
72
ioctl(16, SNDRV_CTL_IOCTL_ELEM_READ, 0x7fff1d114880) = 0
ioctl(16, SNDRV_CTL_IOCTL_ELEM_READ, 0x7fff1d114890) = 0
read(16, "\0\0\0\0\1\0\0\0\t\0\0\0\2\0\0\0\0\0\0\0\0\0\0\0LFE Play"..., 72) = 72
ioctl(16, SNDRV_CTL_IOCTL_ELEM_READ, 0x7fff1d114880) = 0
ioctl(16, SNDRV_CTL_IOCTL_ELEM_READ, 0x7fff1d114890) = 0
read(16, "\0\0\0\0\1\0\0\0\4\0\0\0\2\0\0\0\0\0\0\0\0\0\0\0Surround"..., 72) = 72
ioctl(16, SNDRV_CTL_IOCTL_ELEM_READ, 0x7fff1d114880) = 0
ioctl(16, SNDRV_CTL_IOCTL_ELEM_READ, 0x7fff1d114890) = 0
read(16, "\0\0\0\0\1\0\0\0\6\0\0\0\2\0\0\0\0\0\0\0\0\0\0\0Center P"..., 72) = 72
ioctl(16, SNDRV_CTL_IOCTL_ELEM_READ, 0x7fff1d114880) = 0
ioctl(16, SNDRV_CTL_IOCTL_ELEM_READ, 0x7fff1d114890) = 0
read(16, "\0\0\0\0\1\0\0\0\7\0\0\0\2\0\0\0\0\0\0\0\0\0\0\0LFE Play"..., 72) = 72
ioctl(16, SNDRV_CTL_IOCTL_ELEM_READ, 0x7fff1d114880) = 0
ioctl(16, SNDRV_CTL_IOCTL_ELEM_READ, 0x7fff1d114890) = 0
read(16, 0x7fff1d115520, 72)            = -1 EAGAIN (Resource temporarily 
unavailable)
read(4, "WW", 10)                       = 2
write(5, "W", 1)                        = 1
write(5, "W", 1)                        = 1
read(4, "WW", 10)                       = 2
write(46, "\1\0\0\0\0\0\0\0", 8)        = 8

Note that the FD 16 is "16u CHR 116,16 0t0 20030 /dev/snd/controlC1",
basically the control interface of the card I really want to be
listening to: card 1; the other card (0) is the one in the video card
which I don't really care

** Attachment added: "lsof+strace.tar.gz"
   
https://bugs.launchpad.net/ubuntu/+source/pulseaudio/+bug/1871414/+attachment/5349096/+files/lsof+strace.tar.gz

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1871414

Title:
  Pulseaudio incorrectly detects a headphone being plugged in

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/pulseaudio/+bug/1871414/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to