ubuntu-touch-session pulseaudio job fails to start
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
ubuntu-touch-session (Ubuntu) |
New
|
Undecided
|
Unassigned |
Bug Description
The pulseaudio upstart user session job from ubuntu-
It's possible this is because the /etc/pulse/touch.pa config is not being properly applied and therefore module-
The post-start script shown in this job, where the script polls waiting for the creation of the socket, is also quite bad. upstart does have inotify support; the affected jobs can instead be started directly on creation of the relevant socket.
summary: |
- ubuntu-touch-session pulseaudio job looks for wrong socket + ubuntu-touch-session pulseaudio job fails to start |
Sorry, on closer look I see the touch.pa is meant to be passed as an environment variable by the upstart job. If I pass that correctly, pulseaudio instead fails to start with the following error:
Dec 14 22:26:49 ubuntu-phablet pulseaudio[19153]: [pulseaudio] droid-util.c: Failed to open device (errno -38). virtual_ stream= true"): initialization failed.
Dec 14 22:26:49 ubuntu-phablet pulseaudio[19153]: [pulseaudio] module.c: Failed to load module "module-droid-card" (argument: "voice_
So this is certainly still broken, at least on the emulator, but the socket location is not the issue.
ERRNO 38 is ENOSYS, Invalid system call number. I don't know why it's printing this; the output from strace instead shows:
[pid 21541] open("/dev/eac", O_RDWR|O_LARGEFILE) = -1 EACCES (Permission denied) IOCTL_NEXT_ DEVICE or TCGETS, 0x7e97c27c) = -1 ENOTTY (Inappropriate ioctl for device)
[pid 21541] prctl(PR_GET_NAME, 0x1e10ba0, 0x40000000, 0x76ccf7a8, 0x75b51a44) = 0
[pid 21541] ioctl(2, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_
[pid 21541] write(2, "E: [pulseaudio] droid-util.c: Fa"..., 65) = 65
Changing the permissions on /dev/eac to be writable by phablet is sufficient to let pulseaudio start.