Bug#586990: yelp: Segfaults when tryping to open info:make

Lars Noschinski lars at public.noschinski.de
Sat Jun 26 08:42:46 UTC 2010


* Josselin Mouette <joss at debian.org> [10-06-26 08:39]:
> Le jeudi 24 juin 2010 à 12:29 +0200, Lars Noschinski a écrit :
> > When I run "yelp info:make", yelp segfaults. The make-doc package is at
> > version 3.81-5.
> 
> Strangely enough, I can’t reproduce that on the same architecture with
> the same versions.

Strange. I'm running no debian kernel, if that matters.

> > #1  0x0000000000431d23 in info_process_text_notes (node=0x7fffddc53c78, 
> >     content=0x7fffd814b340 "12 Features of GNU `make'\n", '*' <repeats 25 times>, "\n\nHere is a summary of the features of GNU `make', for comparison with\nand credit to other versions of `make'.  We consider the features of\n`make' in"..., tree=0x1009c00) at yelp-info-parser.c:1210
> >         stop = 0x0
> >         lurl = 0x0
> >         zloc = 0x0
> >         url = 0x7fffd81507c0 " Instead of Executing the CommannsteInstead of Execution."
> 
> The contents of this string is corrupt. The piece with the ':' that
> strchr is looking for has been replaced.
> 
> I can still see a bug on my system though, since at this exact place
> yelp displays an incorrect link.
> 
> If you can still reproduce that, and you know how to use the debugger,
> I’d be interested in:
>       * whether the same text is also corrupt in *current_real
>       * if so, whether it is corrupt in *current
>       * if so, whether it is corrupt in content

It only seems to be broken in url. Interestingly enough, 
"strchr(url, ':')" does return a non-NULL value ...

(gdb) run info:make
[...]
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffddc54710 (LWP 336)]
__strchr_sse2 () at ../sysdeps/x86_64/multiarch/../strchr.S:33
33	../sysdeps/x86_64/multiarch/../strchr.S: Datei oder Verzeichnis nicht gefunden.
	in ../sysdeps/x86_64/multiarch/../strchr.S
Current language:  auto
The current source language is "auto; currently asm".
(gdb) bt
#0  __strchr_sse2 () at ../sysdeps/x86_64/multiarch/../strchr.S:33
#1  0x0000000000431d23 in info_process_text_notes (node=0x7fffddc53c78, 
    content=0x7fffd41c1740 "12 Features of GNU `make'\n", '*' <repeats 25 times>, "\n\nHere is a summary of the features of GNU `make', for comparison with\nand credit to other versions of `make'.  We consider the features of\n`make' in"..., 
    tree=0x7fffd4087800) at yelp-info-parser.c:1210
#2  0x0000000000430ea2 in parse_tree_level (tree=0x7fffd4087800, node=0x7fffddc53d20, iter=...) at yelp-info-parser.c:853
#3  0x0000000000431043 in yelp_info_parser_parse_tree (tree=0x7fffd4087800) at yelp-info-parser.c:899
#4  0x000000000042f1d5 in info_process (info=0x7fc960) at yelp-info.c:392
#5  0x00007ffff41446e4 in g_thread_create_proxy (data=0xf74870) at /tmp/buildd/glib2.0-2.24.1/glib/gthread.c:1893
#6  0x00007ffff6dc08ba in start_thread (arg=<value optimized out>) at pthread_create.c:300
#7  0x00007ffff36ec01d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#8  0x0000000000000000 in ?? ()
(gdb) f 1
#1  0x0000000000431d23 in info_process_text_notes (node=0x7fffddc53c78, 
    content=0x7fffd41c1740 "12 Features of GNU `make'\n", '*' <repeats 25 times>, "\n\nHere is a summary of the features of GNU `make', for comparison with\nand credit to other versions of `make'.  We consider the features of\n`make' in"..., 
    tree=0x7fffd4087800) at yelp-info-parser.c:1210
1210		lurl = strchr (stop, '(');
Current language:  auto
The current source language is "auto; currently c".
(gdb) p/x strchr(url, ':')
$1 = 0xf3697090
(gdb) x/s url
0x7fffd41c6bb0:	 " Instead of Executing the CommannsteInstead of Execution."
(gdb) x/s *current_real
0x7fffd41c9b00:	 " Instead of Executing the\n     Commands: Instead of Execution.\n\n   * The concept of doing several things at once (parallelism) exists in\n     many incarnations of `make' and similar programs, though n"...
(gdb) x/s *current
0x7fffd41bf7c0:	 " Instead of Executing the\n     Commands: Instead of Execution.\n\n   * The concept of doing several things at once (parallelism) exists in\n     many incarnations of `make' and similar programs, though n"...
(gdb) quit
A debugging session is active.

	Inferior 1 [process 330] will be killed.

Quit anyway? (y or n) 





More information about the pkg-gnome-maintainers mailing list