syndaemon gone after resume on intrepid and jaunty

Bug #326117 reported by Gaute
8
Affects Status Importance Assigned to Milestone
xserver-xorg-input-synaptics (Ubuntu)
Invalid
Low
Unassigned

Bug Description

Binary package hint: xfree86-driver-synaptics

I have been digging into this for a while now, and I'm pretty certain it has not been mentioned anywhere.

The situation:

Ubuntu 8.10, 2.6.27-9-generic, dell inspiron 6000, xserver-xorg-input-synaptics 0.15.2-0ubuntu7

# cat /etc/hal/fdi/policy/shmconfig.fdi
<?xml version="1.0" encoding="ISO-8859-1"?>
<deviceinfo version="0.2">
<device>
<match key="input.x11_driver" string="synaptics">
<merge key="input.x11_options.SHMConfig" type="string">True</merge>
</match>
</device>
</deviceinfo>
No active SHM in xorg.conf

syndaemon starts nicely by hand, and from system->prefs->session

# ps aux | grep sy[n]
root 19030 0.4 0.0 2988 508 ? Ss 09:42 0:09 syndaemon -d -t

However, after a resume it is just gone.

With the -S option as mentioned in bug 295236
it survives, but stops working after resume.

I have tried a workaround by way of a small script:
/usr/lib/pm-utils/sleep.d/55syndaemon-resume
my log-lines verifies that it does get called, and the right function executed, but apparently it fires too early in the resume sequence since I am then greeted with an error on the root terminal.
Almost identical to bug 295236.

# X Error of failed request: BadDevice, invalid or uninitialized input device
Major opcode of failed request: 146 (XInputExtension)
Minor opcode of failed request: 4 (X_CloseDevice)
Serial number of failed request: 22691
Current serial number in output stream: 22692

I tried "99Zsyndaemon-resume" as well, and with a "sleep 10" just to be sure, so perhaps the sequence is not the problem after all..

I tried the scripts in
Bug:253079 "should include script for launching syndaemon"
but unless I'm mistaken, /etc/X11/Xsession.d/ does not get sourced on resume?

What now? I'm out of ideas..

ProblemType: Bug
Architecture: i386
DistroRelease: Ubuntu 8.10
Package: xserver-xorg-input-synaptics 0.15.2-0ubuntu7
ProcEnviron:
 PATH=/home/username/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
 LANG=en_US.UTF-8
 SHELL=/bin/bash
SourcePackage: xfree86-driver-synaptics
Uname: Linux 2.6.27-11-generic i686

Tags: apport-bug
Revision history for this message
Gaute (gaute-div) wrote :
Revision history for this message
Bryce Harrington (bryce) wrote :

Hi gaute-div,

Thanks for including the attached files. Could you also include your /var/log/Xorg.0.log (or Xorg.0.log.old) from after reproducing the issue?

[This is an automated message. Apologies if it has reached you inappropriately; please just reply to this message indicating so.]

Changed in xfree86-driver-synaptics:
status: New → Incomplete
Revision history for this message
Gaute (gaute-div) wrote :

Here are both after a fresh restart, and one suspend/resume.

Revision history for this message
Gaute (gaute-div) wrote :
Revision history for this message
Gaute (gaute-div) wrote :

Better mimetype :)

Revision history for this message
Tormod Volden (tormodvolden) wrote :

> Better mimetype :)

You can change the mime type with the "(edit)" link in the Bug Attachments list.

Revision history for this message
Gaute (gaute-div) wrote :

Status is still "Incomplete"..

Did I miss something?

Bryce Harrington (bryce)
Changed in xfree86-driver-synaptics (Ubuntu):
status: Incomplete → Confirmed
Gaute (gaute-div)
tags: removed: needs-xorglog
summary: - syndaemon gone after resume on intrepid
+ syndaemon gone after resume on intrepid and jaunty
Revision history for this message
Gaute (gaute-div) wrote :

Problem seem to persist on Jaunty.
I _may_ have seen it survive a few times, but I am uncertain of the circumstances, and can't reliably reproduce.

Anyway I have found a workaround.

In /usr/lib/pm-utils/sleep.d/ I have created "50syndaemon" as follows:

#!/bin/sh
resume_syndaemon()
{
    if [ ! "$( pidof syndaemon )" ]; then
 export DISPLAY=:0.0
 sudo -u gaute syndaemon -d -t -i 2
    fi
}

case "$1" in
 thaw|resume)
  resume_syndaemon
  ;;
 *) exit $NA
  ;;
esac
exit 0

--
I cannot quite see how this could be generalized however.
There is the hardcoded username, and I guess DISPLAY=:0.0 cannot always be guaranteed,
and a user may have wanted other arguments to syndaemon anyway.

I guess the right thing to do is make the daemon survive in the first place.
I would still like to contribute to this, but it would be good to know if I am the only one that have this problem,
and if not, then some guidance on what to try or how to instrument would be good.

Bryce Harrington (bryce)
affects: xfree86-driver-synaptics (Ubuntu) → xserver-xorg-input-synaptics (Ubuntu)
Revision history for this message
lbj (lau-jensen) wrote :

I can confirm that the above mentioned problem is also seen on a freshly installed Jaunty on an Acer Extensa laptop.

The fix above has worked a few times, but more often it fails and the daemon must be manually started.

Revision history for this message
William Grant (wgrant) wrote :

This is probably because some laptops have their touchpads appear as a new device upon resume. I'd like somebody affected to try it in Karmic, as syndaemon is significantly rewritten there.

Changed in xserver-xorg-input-synaptics (Ubuntu):
importance: Undecided → Low
status: Confirmed → Incomplete
Revision history for this message
Bryce Harrington (bryce) wrote :

We're closing this bug since it is has been some time with no response from the original reporter. However, if the issue still exists please feel free to reopen with the requested information. Also, if you could, please test against the latest development version of Ubuntu, since this confirms the bug is one we may be able to pass upstream for help.

Changed in xserver-xorg-input-synaptics (Ubuntu):
status: Incomplete → Invalid
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.