[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#555620: install-info: ginstall-info produces somehow broken utf-8 output



Dear Karl, dear all,

here on the Debian side we got a very strange bug report which we believe
begin a memory corruption. I spare you the long story, here is a way
how I can reprouce it with install-info from 4.13. The outcome is that
the dir file is garbled and there are strange chars hanging around.

The original poster (in Cc) did a terrific job and could trace it down
to a filled dir file and maplev.gz a distributed by emacs-goodies.

> Attached a base dir file
> (dir.ok, md5: e72d028e3fa665a9368b88b07f094864)
> I then do:
> $ cp dir.ok dir
> $ ginstall-info /usr/share/info/maplev.gz dir
> now the dir file broken.

(The ginstall-info is GNU install-info). I can confi

I attach dir.ok and maplev.gz, as well as the dir.bad that I generated from
the above call. I checked maplev.gz and the only strange thing I saw is that
there are two INFO-DIR-SECTIONs:
INFO-DIR-SECTION Emacs
START-INFO-DIR-ENTRY
* maplev: (maplev). Emacs major mode for Maple V
END-INFO-DIR-ENTRY

INFO-DIR-SECTION Emacs
START-INFO-DIR-ENTRY
* maplev: Emacs major mode for Maple V
END-INFO-DIR-ENTRY

As soon as I remove one of these blocks it works on my computer again.

The OP also did some tests with valgrind:
> For me this looks like some memory corruption in ginstall-info. I can
> only successfully reproduce it using a quite filled dir as base. Running
> ginstall-info under valgrind the output file looks ok.

Hope you can make something out of that, and all the best

Norbert

----------------------------------------------------------------------------
Norbert Preining                preining@{jaist.ac.jp, logic.at, debian.org}
JAIST, Japan               TU Wien, Austria            Debian TeX Task Force
gpg DSA: 0x09C5B094   fp: 14DF 2E6C 0307 BE6D AD76  A9C0 D2BF 4AA3 09C5 B094
----------------------------------------------------------------------------
SHIFNAL (n.,vb.)
An awkward shuffling walk caused by two or more people in a hurry
accidentally getting into the same segment of revolving door. A
similar effect is achieved by people entering three-legged races
unwisely joined at the neck instead of the ankles.
			--- Douglas Adams, The Meaning of Liff
Dies ist die Datei .../info/dir, die den obersten Knoten der
Info-Hierarchie enth���lt, genannt (dir)Top.
Beim ersten Aufruf von Info geht es bei diesem Knoten los.

File: dir,	Node: Top	Dies ist der Beginn des INFO-Baums

  Dieser Verzeichnis-Knoten zeigt ein MenÃ?Â?Ã?Â? aller Hauptpunkte an.
  �¢����q�¢���� beendet Info, �¢����?�¢���� listet alle Info-Befehle auf, �¢����d�¢���� kehrt hierher
  zur����ck, �¢����h�¢���� gibt eine Einsteiger-Hilfe, �¢����mEmacs<Return>�¢���� besucht das
  Emacs-Manual, etc.

  Im Emacs kann man mit dem zweiten Mausknopf auf einen MenÃ?Â?Ã?Â?eintrag oder
  einen Querverweis klicken, um einen solchen ausw���hlen.

* Menu:

Emacs
* Ada mode: (emacs-23/ada-mode).
                                Emacs mode for editing and compiling Ada code.
* Auth-source: (emacs-23/auth). The Emacs auth-source library.
* Autotype: (emacs-23/autotype).
                                Convenient features for text that you enter 
                                  frequently in Emacs.
* CC Mode: (emacs-23/ccmode).   Emacs mode for editing C, C++, Objective-C, 
                                  Java, Pike, AWK, and CORBA IDL code.
* CL: (emacs-23/cl).            Partial Common Lisp support for Emacs Lisp.
* Calc: (emacs-23/calc).        Advanced desk calculator and mathematical tool.
* D-Bus: (emacs-23/dbus).       Using D-Bus in Emacs.
* Debian-el: (debian-el).       Debian-specific tools for Emacs
* Dired-X: (emacs-23/dired-x).  Dired Extra Features.
* ERC: (emacs-23/erc).          Powerful, modular, and extensible IRC client 
                                  for Emacs.
* EUDC: (emacs-23/eudc).        An Emacs client for directory servers (LDAP, 
                                  PH).
* EasyPG Assistant: (emacs-23/epa).
                                An Emacs user interface to GNU Privacy Guard.
* Ebrowse: (emacs-23/ebrowse).  A C++ class browser for Emacs.
* Ediff: (emacs-23/ediff).      A visual interface for comparing and merging 
                                  programs.
* Elisp: (emacs-23/elisp).      The Emacs Lisp Reference Manual.
* Emacs: (emacs-23/emacs).      The extensible self-documenting text editor.
* Emacs FAQ: (emacs-23/efaq).   Frequently Asked Questions about Emacs.
* Emacs Lisp Intro: (emacs-23/eintr).
                                A simple introduction to Emacs Lisp 
                                  programming.
* Emacs MIME: (emacs-23/emacs-mime).
                                Emacs MIME de/composition library.
* Eshell: (emacs-23/eshell).    A command shell implemented in Emacs Lisp.
* Flymake: (emacs-23/flymake).  A universal on-the-fly syntax checker.
* Forms: (emacs-23/forms).      Emacs package for editing data bases by 
                                  filling in forms.
* Gnus: (emacs-23/gnus).        The newsreader Gnus.
* IDLWAVE: (emacs-23/idlwave).  Major mode and shell for IDL files.
* MH-E: (emacs-23/mh-e).        Emacs interface to the MH mail system.
* Mairix: (emacs-23/mairix-el). Emacs interface to the Mairix mail indexer.
* Message: (emacs-23/message).  Mail and news composition mode that goes with 
                                  Gnus.
* Newsticker: (emacs-23/newsticker).
                                A Newsticker for Emacs.
* Org Mode: (emacs-23/org).     Outline-based notes management and organizer
* PCL-CVS: (emacs-23/pcl-cvs).  Emacs front-end to CVS.
* PGG: (emacs-23/pgg).          Emacs interface to various PGP implementations.
* Rcirc: (emacs-23/rcirc).      Internet Relay Chat (IRC) client.
* RefTeX: (emacs-23/reftex).    Emacs support for LaTeX cross-references and 
                                  citations.
* Remember: (emacs-23/remember).
                                Simple information manager for Emacs
* SASL: (emacs-23/sasl).        The Emacs SASL library.
* SC: (emacs-23/sc).            Supercite lets you cite parts of messages 
                                  you're replying to, in flexible ways.
* SES: (emacs-23/ses).          Simple Emacs Spreadsheet
* SMTP: (emacs-23/smtpmail).    Emacs library for sending mail via SMTP.
* Sieve: (emacs-23/sieve).      Managing Sieve scripts in Emacs.
* Speedbar: (emacs-23/speedbar).
                                File/Tag summarizing utility.
* URL: (emacs-23/url).          URL loading package.
* VIP: (emacs-23/vip).          An older VI-emulation for Emacs.
* VIPER: (emacs-23/viper).      The newest Emacs VI-emulation mode.  (also, A 
                                  VI Plan for Emacs Rescue or the VI PERil.)
* Widget: (emacs-23/widget).    The "widget" package used by the Emacs 
                                  Customization facility.
* WoMan: (emacs-23/woman).      Browse UN*X Manual Pages "W.O. (without) Man".
* nXML Mode: (emacs-23/nxml-mode).
                                XML editing mode with RELAX NG support.

General Commands
* Screen: (screen).             Full-screen window manager.

GNU Emacs
* TRAMP: (emacs-23/tramp).      Transparent Remote Access, Multiple Protocol 
                                  GNU Emacs remote file access via rsh and rcp.

Information
* Debian menu: (menu).          The Debian menu system

Math
* bc: (bc).                     An arbitrary precision calculator language.

Programming & development tools
* GDBM: (gdbm).                 The GNU database manager.

Texinfo documentation system
* Info: (emacs-23/info).        How to use the documentation browsing system.
* info standalone: (info-stnd). Read Info documents without Emacs.
* infokey: (info-stnd)Invoking infokey.
                                Compile Info customizations.

Text creation and manipulation
* grep: (grep).                 Print lines matching a pattern.

The Algorithmic Language Scheme
* Gauche (ja): (gauche-refj.info).
                                An R5RS Scheme implementation.
* SLIB: (slib).                 Scheme Library

World Wide Web
* URL: (emacs-23/url).          URL loading package.

Attachment: maplev.gz
Description: Binary data

Dies ist die Datei .../info/dir, die den obersten Knoten der
Info-Hierarchie enthÃ?â?¬lt, genannt (dir)Top.
Beim ersten Aufruf von Info geht es bei diesem Knoten los.

File: dir,	Node: Top	Dies ist der Beginn des INFO-Baums

  Dieser Verzeichnis-Knoten zeigt ein MenÃ?Å? aller Hauptpunkte an.
  �q� beendet Info, �?� listet alle Info-Befehle auf, �d� kehrt hierher
  zurÃ?Å?ck, âÂ?Â?hâÂ?Â? gibt eine Einsteiger-Hilfe, âÂ?Â?mEmacs<Return>âÂ?Â? besucht das
  Emacs-Manual, etc.

  Im Emacs kann man mit dem zweiten Mausknopf auf einen MenÃ?Å?eintrag oder
  einen Querverweis klicken, um einen solchen auswÃ?â?¬hlen.

* Menu:

Emacs
 _* Ada mode: (emacs-23/ada-mode).
                                Emacs mode for editing and compiling Ada code.
* Auth-source: (emacs-23/auth). The Emacs auth-source library.
* Autotype: (emacs-23/autotype).
                                Convenient features for text that you enter 
                                  frequently in Emacs.
* CC Mode: (emacs-23/ccmode).   Emacs mode for editing C, C++, Objective-C, 
                                  Java, Pike, AWK, and CORBA IDL code.
* CL: (emacs-23/cl).            Partial Common Lisp support for Emacs Lisp.
* Calc: (emacs-23/calc).        Advanced desk calculator and mathematical tool.
* D-Bus: (emacs-23/dbus).       Using D-Bus in Emacs.
* Debian-el: (debian-el).       Debian-specific tools for Emacs
* Dired-X: (emacs-23/dired-x).  Dired Extra Features.
* ERC: (emacs-23/erc).          Powerful, modular, and extensible IRC client 
                                  for Emacs.
* EUDC: (emacs-23/eudc).        An Emacs client for directory servers (LDAP, 
                                  PH).
* EasyPG Assistant: (emacs-23/epa).
                                An Emacs user interface to GNU Privacy Guard.
* Ebrowse: (emacs-23/ebrowse).  A C++ class browser for Emacs.
* Ediff: (emacs-23/ediff).      A visual interface for comparing and merging 
                                  programs.
* Elisp: (emacs-23/elisp).      The Emacs Lisp Reference Manual.
* Emacs: (emacs-23/emacs).      The extensible self-documenting text editor.
* Emacs FAQ: (emacs-23/efaq).   Frequently Asked Questions about Emacs.
* Emacs Lisp Intro: (emacs-23/eintr).
                                A simple introduction to Emacs Lisp 
                                  programming.
* Emacs MIME: (emacs-23/emacs-mime).
                                Emacs MIME de/composition library.
* Eshell: (emacs-23/eshell).    A command shell implemented in Emacs Lisp.
* Flymake: (emacs-23/flymake).  A universal on-the-fly syntax checker.
* Forms: (emacs-23/forms).      Emacs package for editing data bases by 
                                  filling in forms.
* Gnus: (emacs-23/gnus).        The newsreader Gnus.
* IDLWAVE: (emacs-23/idlwave).  Major mode and shell for IDL files.
* MH-E: (emacs-23/mh-e).        Emacs interface to the MH mail system.
* Mairix: (emacs-23/mairix-el). Emacs interface to the Mairix mail indexer.
* Message: (emacs-23/message).  Mail and news composition mode that goes with 
                                  Gnus.
* Newsticker: (emacs-23/newsticker).
                                A Newsticker for Emacs.
* Org Mode: (emacs-23/org).     Outline-based notes management and organizer
* PCL-CVS: (emacs-23/pcl-cvs).  Emacs front-end to CVS.
* PGG: (emacs-23/pgg).          Emacs interface to various PGP implementations.
* Rcirc: (emacs-23/rcirc).      Internet Relay Chat (IRC) client.
* RefTeX: (emacs-23/reftex).    Emacs support for LaTeX cross-references and 
                                  citations.
* Remember: (emacs-23/remember).
                                Simple information manager for Emacs
* SASL: (emacs-23/sasl).        The Emacs SASL library.
* SC: (emacs-23/sc).            Supercite lets you cite parts of messages 
                                  you're replying to, in flexible ways.
* SES: (emacs-23/ses).          Simple Emacs Spreadsheet
* SMTP: (emacs-23/smtpmail).    Emacs library for sending mail via SMTP.
* Sieve: (emacs-23/sieve).      Managing Sieve scripts in Emacs.
* Speedbar: (emacs-23/speedbar).
                                File/Tag summarizing utility.
* URL: (emacs-23/url).          URL loading package.
* VIP: (emacs-23/vip).          An older VI-emulation for Emacs.
* VIPER: (emacs-23/viper).      The newest Emacs VI-emulation mode.  (also, A 
                                  VI Plan for Emacs Rescue or the VI PERil.)
* Widget: (emacs-23/widget).    The "widget" package used by the Emacs 
                                  Customization facility.
* WoMan: (emacs-23/woman).      Browse UN*X Manual Pages "W.O. (without) Man".
* maplev: (maplev).             Emacs major mode for Maple V
* nXML Mode: (emacs-23/nxml-mode).
                                XML editing mode with RELAX NG support.

Emacs
* maplev: (maplev).             Emacs major mode for Maple V
 _
General Commands
* Screen: (screen).             Full-screen window manager.

GNU Emacs
* TRAMP: (emacs-23/tramp).      Transparent Remote Access, Multiple Protocol 
                                  GNU Emacs remote file access via rsh and rcp.

Information
* Debian menu: (menu).          The Debian menu system

Math
* bc: (bc).                     An arbitrary precision calculator language.

Programming & development tools
* GDBM: (gdbm).                 The GNU database manager.

Texinfo documentation system
* Info: (emacs-23/info).        How to use the documentation browsing system.
* info standalone: (info-stnd). Read Info documents without Emacs.
* infokey: (info-stnd)Invoking infokey.
                                Compile Info customizations.

Text creation and manipulation
* grep: (grep).                 Print lines matching a pattern.

The Algorithmic Language Scheme
* Gauche (ja): (gauche-refj.info).
                                An R5RS Scheme implementation.
* SLIB: (slib).                 Scheme Library

World Wide Web
* URL: (emacs-23/url).          URL loading package.

Reply to: