← Back to team overview

desktop-packages team mailing list archive

[Bug 1315442] Re: Extra "fi" in /etc/init.d/gdm

 

** Tags added: trusty

-- 
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to gdm in Ubuntu.
https://bugs.launchpad.net/bugs/1315442

Title:
  Extra "fi" in /etc/init.d/gdm

Status in Ubuntu GNOME:
  New
Status in gdm package in Ubuntu:
  Fix Released
Status in gdm source package in Trusty:
  Fix Committed
Status in gdm source package in Utopic:
  Fix Committed

Bug description:
  Ubuntu release 14.04 LTS
  gdm 3.10.0.1-0ubuntu3

  I just tried to start gdm with "/etc/init.d/gdm start " and got the
  message:

  /etc/init.d/gdm: 79: /etc/init.d/gdm: Syntax error: "fi" unexpected
  (expecting "}")

  I'm aware of service(8) but cjwatson said I should report this as a
  bug anyway!

  Owen

  SRU Information:

  [Impact]

   * Anyone who tries to use the sysv style /etc/init.d/gdm script to control
     gdm may get a syntax error which disallows the script from running,
     bombing out to the command line with an unfriendly error

   * This problem effects vivid, utopic and trusty.  Without this fix
     backported, the functionality of the sysv style script for controlling
     the gdm service is broken under certain circumstances.  The resulting
     unfriendly error is also unprofessional and gives a feeling of
     brokenness to Ubuntu in all three of these releases, including the
     ones to be backported to.

   * This upload is a series of three patches.  The syntax error
     results from a single line in each of the debian/gdm.init files which get
     installed as the /etc/init.d/gdm shell script.  The problem is an extra
     unmatched "fi" that results in a syntax error if the corresponding line
     is interpreted

  [Test Case]

   * To test the fix in vivid, type the following commands before and after
     the updated package is installed:

     cd /etc/init.d
     sudo ./gdm

     If the script exits with a syntax error before the package with
     the fix is installed, you have verified the bug.

     If the script exits with a syntax error after the package is installed,
     the fix did not work.
     If the script does not indicate a syntax error after the package
     is installed, the fix worked

     To test the fix on utopic, do the identical test as in vivid above
     but instead use the following single command to invoke the script:

     sudo /etc/init.d/gdm

     To test the fix on trusty, do the test as in vivid and utopic,
     but use the following commands to change directories and invoke
     the script:

     cd /etc/init.d
     sudo ./gdm
     sudo ./gdm start

     In this case, both times you run the script it should exit with
     the syntax error before installing the package and neither time
     after installing the package.

  [Regression Potential]

   * Any scripts which may call this script which happen to mistakenly
     rely on it to fail could perhaps behave differently, with unknown
     results possible

  [Other Info]
   
   * Using or not using sudo before each command may affect the tests
     with varying output that may be unexpected.  In all cases, however,
     if the script bombs on a syntax error happens mentioning a line number
     and "fi" the test definitely either verified the bug or definitively
     showed the package did not fix the bug (or was not installed correctly).

     A situation which arose during the testing is that depending on the
     whether the patch is on vivid, utopic or trusty, calling the script
     in different ways (fully qualified path vs. changing the current
     directory to /etc/init.d and using ./gdm, for instance, or
     including or not including the 'start' parameter) causes the
     test to behave differently, for instance failing silently or working
     depending on how the script is called even with the syntax error present. 
     This is why there are different command lines for each version of the
     patch for testing.

     I did some tracing on why this happened, and the reasons seem buried deep
     within the trees of scripts called beneath /etc/init.d/gdm and are outside
     the scope of this fix and do not invalidate this fix.  This fix deals
     with a simple top level shell script syntax error that can be successfully
     tested for as indicated above.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu-gnome/+bug/1315442/+subscriptions