After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 319621 - bus error on malformed .info file or with external links
bus error on malformed .info file or with external links
Status: RESOLVED FIXED
Product: yelp
Classification: Applications
Component: Info Pages
2.12.x
Other Mac OS
: Normal normal
: ---
Assigned To: Yelp maintainers
Yelp maintainers
critical-warning
Depends on:
Blocks: 316833
 
 
Reported: 2005-10-24 17:33 UTC by Daniel Macks
Modified: 2005-12-10 15:39 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
crash from yelp info:///sw/share/info/ocaml.info (17.67 KB, text/plain)
2005-10-24 17:38 UTC, Daniel Macks
  Details
crash from yelp info:///sw/share/info/dir (17.59 KB, text/plain)
2005-10-24 17:45 UTC, Daniel Macks
  Details
Large fixes (21.13 KB, patch)
2005-11-25 11:22 UTC, Don Scorgie
none Details | Review
Updated patch (21.85 KB, patch)
2005-11-25 12:03 UTC, Don Scorgie
committed Details | Review

Description Daniel Macks 2005-10-24 17:33:17 UTC
Version details: 2.12.1
Distribution/Version: OS X 10.3, all libs from fink

1. Install mozilla 1.7.5 
2. Install yelp 2.12.1 (--enable-info --with-mozilla=mozilla)
3. Install things that have texinfo files.
4. Use yelp command (with info:/// URI) to read them.

Simple (one-part) .info with no external references work fine. A multiparter
(ocaml.info, that has splitoff parts ocaml-{1-16}) or a dir that links to
additional .info files causes yelp to dump core.
Comment 1 Daniel Macks 2005-10-24 17:38:02 UTC
Created attachment 53841 [details]
crash from yelp info:///sw/share/info/ocaml.info
Comment 2 Daniel Macks 2005-10-24 17:45:46 UTC
Created attachment 53842 [details]
crash from yelp info:///sw/share/info/dir
Comment 3 Daniel Macks 2005-10-24 17:47:31 UTC
Comment on attachment 53841 [details]
crash from yelp info:///sw/share/info/ocaml.info

% yelp info:///sw/share/info/ocaml.info
Bonobo accessibility support initialized
GTK Accessibility Module initialized

(yelp:28062): Gtk-CRITICAL **: gtk_stock_lookup: assertion `stock_id != NULL'
failed

(yelp:28062): Gdk-WARNING **: gdk_property_get(): length value has wrapped in
calculation (did you pass G_MAXLONG?)
!! Opening ///sw/share/info/ocaml.info...
page 0 at offset 0
page 1 at offset 220
Have the indirect mapping table
Line: 
Line: 
Line: ocaml.info-19: 1092202
!! Opening /usr/share/info/ocaml.info-19.gz...

(yelp:28062): GLib-CRITICAL **: g_io_channel_read_to_end: assertion `channel !=
NULL' failed

(yelp:28062): GLib-CRITICAL **: g_io_channel_shutdown: assertion `channel !=
NULL' failed
Bus error (core dumped)
Comment 4 Daniel Macks 2005-10-24 17:50:49 UTC
Comment on attachment 53842 [details]
crash from yelp info:///sw/share/info/dir

% yelp info:///sw/share/info/dir
Bonobo accessibility support initialized
GTK Accessibility Module initialized

(yelp:28075): Gtk-CRITICAL **: gtk_stock_lookup: assertion `stock_id != NULL'
failed

(yelp:28075): Gdk-WARNING **: gdk_property_get(): length value has wrapped in
calculation (did you pass G_MAXLONG?)
!! Opening ///sw/share/info/dir...
page 0 at offset 0
page 1 at offset 102
Bus error (core dumped)
Comment 5 Daniel Macks 2005-11-18 21:21:52 UTC
This appears to be a two-part problem:

1.The .info processor either doesn't understand how to follow external links.
That makes the resulting doc "incomplete" (missing nodes or somesuch?) which is
a major problem because the renderer appears to render the whole doc, not just
the node of interest. Feature request: links to nodes and xrefs should be
hyperlinked instead of having a monolithic plain-text rendering.

2. Yelp crashes whenever it can't understand the .info file contents. It's more
general than unresolvable node links: 'yelp info:///some-filename' where
some-filename is not a .info file crashes too. Yelp should give an error message
such as "this does not appear to be a valid texinfo file" instead of just
dumping core.
Comment 6 Don Scorgie 2005-11-25 11:22:11 UTC
Created attachment 55220 [details] [review]
Large fixes
Comment 7 Don Scorgie 2005-11-25 11:30:24 UTC
Hi,

The attached patch fixes a large number of problems that I've encountered using
info in Yelp.  With this applied, I can now view all info pages (except dir) on
my system.

It also adds hyperlink support for menus and only spits out stuff when in debug
mode.

Enjoy
Comment 8 Brent Smith (smitten) 2005-11-25 11:46:22 UTC
This was generated from command: yelp info:///usr/share/info/make-info-1.gz 
on Ubuntu Breezy

Backtrace was generated from '/opt/gnome2/bin/yelp'

Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1".
`system-supplied DSO at 0xffffe000' has disappeared; keeping its symbols.
[Thread debugging using libthread_db enabled]
[New Thread -1227884096 (LWP 25201)]
[New Thread -1248932944 (LWP 25203)]
[New Thread -1235936336 (LWP 25202)]
0xffffe410 in __kernel_vsyscall ()

Comment 9 Don Scorgie 2005-11-25 12:03:41 UTC
Created attachment 55224 [details] [review]
Updated patch

A slightly updated patch that fixes the crash in comment #8.  It also makes
info:dir fail gracefully and fixes a regression in the stylesheet.
Comment 10 Don Scorgie 2005-12-10 15:39:51 UTC
I've just committed the patch in comment #9, which should fix the 2 issues
mentioned in the original bug report, as well as fixing a number of other info
page issues.

I've also got a semi-working patch to create a table-of-contents page for info
files, but I'll move the discussion of that over to bug #316833 (once I get it
in a state so it actually works well...)

In the mean time, I'm going to close this bug as fixed.  Thanks