DebuggingEmacs

Differences between revisions 6 and 7
Revision 6 as of 2011-03-31 10:59:21
Size: 6701
Editor: cs181003192
Comment: Link to unrelated bug #512096
Revision 7 as of 2011-03-31 11:28:20
Size: 7515
Editor: cs181003192
Comment: Link to known bugs #467446, #464587, #222870, #396038, #582341
Deletions are marked like this. Additions are marked like this.
Line 85: Line 85:
|| [[https://launchpad.net/bugs/8896|8896]] || The subject from LP || This bug can be identified by ... || || [[https://launchpad.net/bugs/467446|467446]] || update-alternatives: error: alternative path /usr/bin/xemacs21 doesn't exist || Fixed in a recent version of `xemacs21` but still affects people runnng older Ubuntu releases ||
|| [[https://launchpad.net/bugs/464587|464587]] || ocaml-mode: Invalid syntax description flag: "()1n" || Fixed in a recent version of `ocaml` but still affects people runnng older Ubuntu releases and `xemacs21` ||
|| [[https://launchpad.net/bugs/222870|222870]] || anjsp: Wrong number of arguments: require, 3 || `anjsp` is not compatible with `xemacs21`. It no longer ships with Ubuntu but still affects people running older Ubuntu releases ||
|| [[https://launchpad.net/bugs/396038|396038]] || Group `staff` missing; Emacs installation failed || This rare error was never properly debugged, but it did occur more than once ||
Line 92: Line 95:
|| [[https://launchpad.net/bugs/512096| 512096]] || Exec format error: package failed to install/remove || Seems to often affect `emacsen-common` -- `00debian-vars.el` or similar file missing even though package apparently installed || || [[https://launchpad.net/bugs/512096|512096]] || Exec format error: package failed to install/remove || Seems to often affect `emacsen-common` -- `00debian-vars.el` or similar file missing even though package apparently installed. See also bug [[https://launchpad.net/bugs/582341|#582341]] ||

Debugging Central

This page is part of the debugging series — pages with debugging details for a variety of Ubuntu packages.

Introduction

There are multiple Emacs packages, collectively referred to as "Emacsen". They all depend on a package called emacsen-common, and they are divided into "flavors". The main flavors are GNU Emacs (AKA FSF Emacs; emacs23 and emacs-snapshot) and xemacs21. These in turn are divided into multiple packages, in order to separate architecture-independent components (for which only one package is needed) from architecture-dependent ones (which need to be built separately for each architecture), and mandatory components from optional ones.

If you only need one Emacs flavor, the stable GNU Emacs (currently emacs23) is recommended. xemacs21 is rather old and not very actively maintained; emacs-snapshot contains a relatively recent non-release version of the developer sources, though you might want to obtain a more recent version from a PPA or other non-Ubuntu source if you want the really latest and greatest.

There is a plethora of Emacs add-on packages. Most of these are supported on all flavors, but there are notable exceptions. Some add-ons are not needed on some flavors, and some add-ons provide newer and / or different versions of components which are also included with a base Emacs install (e.g. Gnus).

Debugging procedure

If Emacs doesn't behave like you expect, try running emacs -Q and see if the problem goes away. This disables the reading of your .emacs file and other local modifications. If the problem goes away, the problem is most likely in a local customization.

If you get an error message from Emacs, you may be able to trigger a backtrace which shows which Lisp functions were being processed when the error hit. Enable backtraces with M-: (setq debug-on-error t) and attach the *Backtrace* buffer to your bug report.

Package Installation Errors

Apparent Emacs errors are often caused by an add-on package which contains a bug or incompatibility with the installed Emacs flavor.

If dpkg prints an error message indicating that the package postinst failed, the actual error message is probably a few lines before this message in the dpkg output.

Byte Compilation Errors

A particular type of installation error is the byte compilation error. With emacs22 and emacs-snapshot the terminal log will contain a message like this:

!! Byte-compilation for <<flavor>> failed!
!! This indicates a bug in one of the add-on packages
!! installed on your system, or a bug in Emacs itself.
!! Please file a bug report against <<flavor>>
!! and attach the file /tmp/<<flavor>>.<<suffix>>

The file name will be different each time. This file is required in order to analyze the problem.

How to file bugs

You can file bugs against Emacs using Apport.

There is also the built-inM-x emacs-bug-report but it is not fully customized for sending bug reports to Ubuntu.

Bug tags

(Developers: please update this section)

How to Triage

Apport bugs are generally triggered by a package failing to install, and usually include DpkgTerminalLog or VarDistUpgradeTermLog as an attachment; this log file is usually the first one to examine.

Typically, it will contain an error message near the end which indicate which package failed installation and why.

If this file is missing, it should be requested. See a canned reply below for example.

If the message indicates a byte-compilation error in an add-on package (see above), the temporary file in the error message should be attached to the bug report. If it is not, it should be requested. See a canned reply below for example.

Stock Replies

TODO How to produce and attach a backtrace

Missing Terminal Log

Thank you for taking the time to report this bug and helping to make Ubuntu better. In order for us to be able to analyze this problem, we would like you to attach the contents of the file /var/log/apt/term.log to this bug report. Please note that you will normally need sudo privileges to read or copy this file.

If you got this error during an upgrade from an earlier version of Ubuntu, the log file's name will instead be /var/log/dist-upgrade/apt-term.log

Thanks in advance!

Missing Byte Compilation Log

If you still have this file on your system, please attach it to this bug report. However, files in the /tmp directory are purged on reboot; if the file has already been removed from your system, you may be able to recreate a similar file by attempting to repeat the operation which failed when you got the error message. Note that the name of the generated temporary file will be slightly different each time; refer to near the end of your /var/log/apt/term.log to see the exact generated file name. You will need sudo privileges to read the terminal log file.

TODO The Bugs/Responses page should include these replies.

How to Forward

The standard upstream for FSF Emacs bugs is http://debbugs.gnu.org/ which is running the same software as the Debian BTS. The Ubuntu packages are generally merged from Debian, so for packaging bugs, Debian is the upstream.

Known bugs

Description of known bug reports that may receive duplicates and how to recognise them. This information should be obtained by looking for bugs tagged as 'metabug'.

Open

Bug

Subject

Symptom

8896

The subject from LP

This bug can be identified by ...

Closed

Bug

Subject

Symptom

467446

update-alternatives: error: alternative path /usr/bin/xemacs21 doesn't exist

Fixed in a recent version of xemacs21 but still affects people runnng older Ubuntu releases

464587

ocaml-mode: Invalid syntax description flag: "()1n"

Fixed in a recent version of ocaml but still affects people runnng older Ubuntu releases and xemacs21

222870

anjsp: Wrong number of arguments: require, 3

anjsp is not compatible with xemacs21. It no longer ships with Ubuntu but still affects people running older Ubuntu releases

396038

Group staff missing; Emacs installation failed

This rare error was never properly debugged, but it did occur more than once

Non-bugs

To the best of our knowledge, this is not an Emacs bug, but it appears to manifest a lot when installing Emacs:

Bug

Subject

Symptom

512096

Exec format error: package failed to install/remove

Seems to often affect emacsen-common -- 00debian-vars.el or similar file missing even though package apparently installed. See also bug #582341


CategoryBugSquad CategoryDebugging

DebuggingEmacs (last edited 2012-09-27 09:26:51 by fsgw)