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