poke-devel
[Top][All Lists]
Advanced

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

Re: crash when pretty-printing


From: Dan Čermák
Subject: Re: crash when pretty-printing
Date: Sun, 07 Jun 2020 20:00:10 +0200

Out of curiosity: is ASAN also able to find the crash location?

Bruno Haible <bruno@clisp.org> writes:

> gdb couldn't tell me where the program is crashing. But valgrind can.
>
> $ valgrind --tool=memcheck --num-callers=20 --leak-check=yes 
> --leak-resolution=high --show-reachable=yes poke/poke 2>&1 | tee valgrindlog
> ...
> Conditional jump or move depends on uninitialised value(s)
>    at 0x4E4B1E6: GC_promote_black_lists (in 
> /usr/lib/x86_64-linux-gnu/libgc.so.1.0.3)
>    by 0x4E4A037: GC_try_to_collect_inner (in 
> /usr/lib/x86_64-linux-gnu/libgc.so.1.0.3)
>    by 0x4E4AA1B: GC_collect_or_expand (in 
> /usr/lib/x86_64-linux-gnu/libgc.so.1.0.3)
>    by 0x4E4AC41: GC_allocobj (in /usr/lib/x86_64-linux-gnu/libgc.so.1.0.3)
>    by 0x4E5002E: GC_generic_malloc_inner (in 
> /usr/lib/x86_64-linux-gnu/libgc.so.1.0.3)
>    by 0x4E51297: GC_generic_malloc_many (in 
> /usr/lib/x86_64-linux-gnu/libgc.so.1.0.3)
>    by 0x4E59654: GC_malloc (in /usr/lib/x86_64-linux-gnu/libgc.so.1.0.3)
>    by 0x472B40: pvm_alloc (pvm-alloc.c:28)
>    by 0x46EC8C: pvm_make_long_ulong (pvm-val.c:54)
>    by 0x46ED0D: pvm_make_ulong (pvm-val.c:70)
>    by 0x4834D4: pvm_execute_or_initialize (pvm.jitter:1680)
>    by 0x482E08: pvm_execute_executable_routine (pvm.jitter:527)
>    by 0x47C155: pvm_execute_routine (pvm.jitter:711)
>    by 0x46E946: pvm_run (pvm.c:125)
>    by 0x4726B1: pvm_call_pretty_printer (pvm-val.c:1192)
>    by 0x471244: pvm_print_val_1 (pvm-val.c:856)
>    by 0x471E25: pvm_print_val (pvm-val.c:1038)
>    by 0x4159F2: pk_print_val (libpoke.c:789)
>    by 0x406C93: pk_cmd_exec (pk-cmd.c:626)
>    by 0x40591C: pk_repl (pk-repl.c:339)
>
> Conditional jump or move depends on uninitialised value(s)
>    at 0x4E4B20B: GC_promote_black_lists (in 
> /usr/lib/x86_64-linux-gnu/libgc.so.1.0.3)
>    by 0x4E4A037: GC_try_to_collect_inner (in 
> /usr/lib/x86_64-linux-gnu/libgc.so.1.0.3)
>    by 0x4E4AA1B: GC_collect_or_expand (in 
> /usr/lib/x86_64-linux-gnu/libgc.so.1.0.3)
>    by 0x4E4AC41: GC_allocobj (in /usr/lib/x86_64-linux-gnu/libgc.so.1.0.3)
>    by 0x4E5002E: GC_generic_malloc_inner (in 
> /usr/lib/x86_64-linux-gnu/libgc.so.1.0.3)
>    by 0x4E51297: GC_generic_malloc_many (in 
> /usr/lib/x86_64-linux-gnu/libgc.so.1.0.3)
>    by 0x4E59654: GC_malloc (in /usr/lib/x86_64-linux-gnu/libgc.so.1.0.3)
>    by 0x472B40: pvm_alloc (pvm-alloc.c:28)
>    by 0x46EC8C: pvm_make_long_ulong (pvm-val.c:54)
>    by 0x46ED0D: pvm_make_ulong (pvm-val.c:70)
>    by 0x4834D4: pvm_execute_or_initialize (pvm.jitter:1680)
>    by 0x482E08: pvm_execute_executable_routine (pvm.jitter:527)
>    by 0x47C155: pvm_execute_routine (pvm.jitter:711)
>    by 0x46E946: pvm_run (pvm.c:125)
>    by 0x4726B1: pvm_call_pretty_printer (pvm-val.c:1192)
>    by 0x471244: pvm_print_val_1 (pvm-val.c:856)
>    by 0x471E25: pvm_print_val (pvm-val.c:1038)
>    by 0x4159F2: pk_print_val (libpoke.c:789)
>    by 0x406C93: pk_cmd_exec (pk-cmd.c:626)
>    by 0x40591C: pk_repl (pk-repl.c:339)
>
> Conditional jump or move depends on uninitialised value(s)
>    at 0x4E4B251: GC_promote_black_lists (in 
> /usr/lib/x86_64-linux-gnu/libgc.so.1.0.3)
>    by 0x4E4A037: GC_try_to_collect_inner (in 
> /usr/lib/x86_64-linux-gnu/libgc.so.1.0.3)
>    by 0x4E4AA1B: GC_collect_or_expand (in 
> /usr/lib/x86_64-linux-gnu/libgc.so.1.0.3)
>    by 0x4E4AC41: GC_allocobj (in /usr/lib/x86_64-linux-gnu/libgc.so.1.0.3)
>    by 0x4E5002E: GC_generic_malloc_inner (in 
> /usr/lib/x86_64-linux-gnu/libgc.so.1.0.3)
>    by 0x4E51297: GC_generic_malloc_many (in 
> /usr/lib/x86_64-linux-gnu/libgc.so.1.0.3)
>    by 0x4E59654: GC_malloc (in /usr/lib/x86_64-linux-gnu/libgc.so.1.0.3)
>    by 0x472B40: pvm_alloc (pvm-alloc.c:28)
>    by 0x46EC8C: pvm_make_long_ulong (pvm-val.c:54)
>    by 0x46ED0D: pvm_make_ulong (pvm-val.c:70)
>    by 0x4834D4: pvm_execute_or_initialize (pvm.jitter:1680)
>    by 0x482E08: pvm_execute_executable_routine (pvm.jitter:527)
>    by 0x47C155: pvm_execute_routine (pvm.jitter:711)
>    by 0x46E946: pvm_run (pvm.c:125)
>    by 0x4726B1: pvm_call_pretty_printer (pvm-val.c:1192)
>    by 0x471244: pvm_print_val_1 (pvm-val.c:856)
>    by 0x471E25: pvm_print_val (pvm-val.c:1038)
>    by 0x4159F2: pk_print_val (libpoke.c:789)
>    by 0x406C93: pk_cmd_exec (pk-cmd.c:626)
>    by 0x40591C: pk_repl (pk-repl.c:339)
>
> Conditional jump or move depends on uninitialised value(s)
>    at 0x4E4B072: GC_is_black_listed (in 
> /usr/lib/x86_64-linux-gnu/libgc.so.1.0.3)
>    by 0x4E48C2A: GC_allochblk_nth (in 
> /usr/lib/x86_64-linux-gnu/libgc.so.1.0.3)
>    by 0x4E48E90: GC_allochblk (in /usr/lib/x86_64-linux-gnu/libgc.so.1.0.3)
>    by 0x4E511CA: GC_generic_malloc_many (in 
> /usr/lib/x86_64-linux-gnu/libgc.so.1.0.3)
>    by 0x4E59654: GC_malloc (in /usr/lib/x86_64-linux-gnu/libgc.so.1.0.3)
>    by 0x472B40: pvm_alloc (pvm-alloc.c:28)
>    by 0x46ED26: pvm_make_box (pvm-val.c:76)
>    by 0x46F6C6: pvm_make_type (pvm-val.c:243)
>    by 0x46F727: pvm_make_integral_type (pvm-val.c:256)
>    by 0x48E29D: pvm_execute_or_initialize (pvm.jitter:4203)
>    by 0x482E08: pvm_execute_executable_routine (pvm.jitter:527)
>    by 0x47C155: pvm_execute_routine (pvm.jitter:711)
>    by 0x46E946: pvm_run (pvm.c:125)
>    by 0x4726B1: pvm_call_pretty_printer (pvm-val.c:1192)
>    by 0x471244: pvm_print_val_1 (pvm-val.c:856)
>    by 0x471E25: pvm_print_val (pvm-val.c:1038)
>    by 0x4159F2: pk_print_val (libpoke.c:789)
>    by 0x406C93: pk_cmd_exec (pk-cmd.c:626)
>    by 0x40591C: pk_repl (pk-repl.c:339)
>    by 0x404D06: main (poke.c:681)
>
> Conditional jump or move depends on uninitialised value(s)
>    at 0x4E4B07B: GC_is_black_listed (in 
> /usr/lib/x86_64-linux-gnu/libgc.so.1.0.3)
>    by 0x4E48C2A: GC_allochblk_nth (in 
> /usr/lib/x86_64-linux-gnu/libgc.so.1.0.3)
>    by 0x4E48E90: GC_allochblk (in /usr/lib/x86_64-linux-gnu/libgc.so.1.0.3)
>    by 0x4E511CA: GC_generic_malloc_many (in 
> /usr/lib/x86_64-linux-gnu/libgc.so.1.0.3)
>    by 0x4E59654: GC_malloc (in /usr/lib/x86_64-linux-gnu/libgc.so.1.0.3)
>    by 0x472B40: pvm_alloc (pvm-alloc.c:28)
>    by 0x46ED26: pvm_make_box (pvm-val.c:76)
>    by 0x46F6C6: pvm_make_type (pvm-val.c:243)
>    by 0x46F727: pvm_make_integral_type (pvm-val.c:256)
>    by 0x48E29D: pvm_execute_or_initialize (pvm.jitter:4203)
>    by 0x482E08: pvm_execute_executable_routine (pvm.jitter:527)
>    by 0x47C155: pvm_execute_routine (pvm.jitter:711)
>    by 0x46E946: pvm_run (pvm.c:125)
>    by 0x4726B1: pvm_call_pretty_printer (pvm-val.c:1192)
>    by 0x471244: pvm_print_val_1 (pvm-val.c:856)
>    by 0x471E25: pvm_print_val (pvm-val.c:1038)
>    by 0x4159F2: pk_print_val (libpoke.c:789)
>    by 0x406C93: pk_cmd_exec (pk-cmd.c:626)
>    by 0x40591C: pk_repl (pk-repl.c:339)
>    by 0x404D06: main (poke.c:681)
>
> Conditional jump or move depends on uninitialised value(s)
>    at 0x4E4B03F: GC_is_black_listed (in 
> /usr/lib/x86_64-linux-gnu/libgc.so.1.0.3)
>    by 0x4E48C2A: GC_allochblk_nth (in 
> /usr/lib/x86_64-linux-gnu/libgc.so.1.0.3)
>    by 0x4E48F75: GC_allochblk (in /usr/lib/x86_64-linux-gnu/libgc.so.1.0.3)
>    by 0x4E56B77: GC_new_hblk (in /usr/lib/x86_64-linux-gnu/libgc.so.1.0.3)
>    by 0x4E4AC01: GC_allocobj (in /usr/lib/x86_64-linux-gnu/libgc.so.1.0.3)
>    by 0x4E5002E: GC_generic_malloc_inner (in 
> /usr/lib/x86_64-linux-gnu/libgc.so.1.0.3)
>    by 0x4E51297: GC_generic_malloc_many (in 
> /usr/lib/x86_64-linux-gnu/libgc.so.1.0.3)
>    by 0x4E59654: GC_malloc (in /usr/lib/x86_64-linux-gnu/libgc.so.1.0.3)
>    by 0x472B40: pvm_alloc (pvm-alloc.c:28)
>    by 0x46ED26: pvm_make_box (pvm-val.c:76)
>    by 0x46ED50: pvm_make_string (pvm-val.c:85)
>    by 0x472716: pvm_make_exception (pvm-val.c:1206)
>    by 0x46B7B5: pkl_asm_new (pkl-asm.c:1115)
>    by 0x47262A: pvm_call_pretty_printer (pvm-val.c:1179)
>    by 0x471244: pvm_print_val_1 (pvm-val.c:856)
>    by 0x471E25: pvm_print_val (pvm-val.c:1038)
>    by 0x49C59E: pvm_execute_or_initialize (pvm.jitter:1216)
>    by 0x482E08: pvm_execute_executable_routine (pvm.jitter:527)
>    by 0x47C155: pvm_execute_routine (pvm.jitter:711)
>    by 0x46E946: pvm_run (pvm.c:125)
>
> Conditional jump or move depends on uninitialised value(s)
>    at 0x4E4B09F: GC_is_black_listed (in 
> /usr/lib/x86_64-linux-gnu/libgc.so.1.0.3)
>    by 0x4E48C2A: GC_allochblk_nth (in 
> /usr/lib/x86_64-linux-gnu/libgc.so.1.0.3)
>    by 0x4E48F75: GC_allochblk (in /usr/lib/x86_64-linux-gnu/libgc.so.1.0.3)
>    by 0x4E56B77: GC_new_hblk (in /usr/lib/x86_64-linux-gnu/libgc.so.1.0.3)
>    by 0x4E4AC01: GC_allocobj (in /usr/lib/x86_64-linux-gnu/libgc.so.1.0.3)
>    by 0x4E5002E: GC_generic_malloc_inner (in 
> /usr/lib/x86_64-linux-gnu/libgc.so.1.0.3)
>    by 0x4E51297: GC_generic_malloc_many (in 
> /usr/lib/x86_64-linux-gnu/libgc.so.1.0.3)
>    by 0x4E59654: GC_malloc (in /usr/lib/x86_64-linux-gnu/libgc.so.1.0.3)
>    by 0x472B40: pvm_alloc (pvm-alloc.c:28)
>    by 0x46ED26: pvm_make_box (pvm-val.c:76)
>    by 0x46ED50: pvm_make_string (pvm-val.c:85)
>    by 0x472716: pvm_make_exception (pvm-val.c:1206)
>    by 0x46B7B5: pkl_asm_new (pkl-asm.c:1115)
>    by 0x47262A: pvm_call_pretty_printer (pvm-val.c:1179)
>    by 0x471244: pvm_print_val_1 (pvm-val.c:856)
>    by 0x471E25: pvm_print_val (pvm-val.c:1038)
>    by 0x49C59E: pvm_execute_or_initialize (pvm.jitter:1216)
>    by 0x482E08: pvm_execute_executable_routine (pvm.jitter:527)
>    by 0x47C155: pvm_execute_routine (pvm.jitter:711)
>    by 0x46E946: pvm_run (pvm.c:125)
>
> Conditional jump or move depends on uninitialised value(s)
>    at 0x4E4B03F: GC_is_black_listed (in 
> /usr/lib/x86_64-linux-gnu/libgc.so.1.0.3)
>    by 0x4E48C2A: GC_allochblk_nth (in 
> /usr/lib/x86_64-linux-gnu/libgc.so.1.0.3)
>    by 0x4E48E90: GC_allochblk (in /usr/lib/x86_64-linux-gnu/libgc.so.1.0.3)
>    by 0x4E511CA: GC_generic_malloc_many (in 
> /usr/lib/x86_64-linux-gnu/libgc.so.1.0.3)
>    by 0x4E59654: GC_malloc (in /usr/lib/x86_64-linux-gnu/libgc.so.1.0.3)
>    by 0x472B40: pvm_alloc (pvm-alloc.c:28)
>    by 0x46ED26: pvm_make_box (pvm-val.c:76)
>    by 0x46ED50: pvm_make_string (pvm-val.c:85)
>    by 0x472724: pvm_make_exception (pvm-val.c:1207)
>    by 0x46B7B5: pkl_asm_new (pkl-asm.c:1115)
>    by 0x47262A: pvm_call_pretty_printer (pvm-val.c:1179)
>    by 0x471244: pvm_print_val_1 (pvm-val.c:856)
>    by 0x471E25: pvm_print_val (pvm-val.c:1038)
>    by 0x49C59E: pvm_execute_or_initialize (pvm.jitter:1216)
>    by 0x482E08: pvm_execute_executable_routine (pvm.jitter:527)
>    by 0x47C155: pvm_execute_routine (pvm.jitter:711)
>    by 0x46E946: pvm_run (pvm.c:125)
>    by 0x4726B1: pvm_call_pretty_printer (pvm-val.c:1192)
>    by 0x471244: pvm_print_val_1 (pvm-val.c:856)
>    by 0x471E25: pvm_print_val (pvm-val.c:1038)
>
> Conditional jump or move depends on uninitialised value(s)
>    at 0x4E48CBB: GC_allochblk_nth (in 
> /usr/lib/x86_64-linux-gnu/libgc.so.1.0.3)
>    by 0x4E48E90: GC_allochblk (in /usr/lib/x86_64-linux-gnu/libgc.so.1.0.3)
>    by 0x4E511CA: GC_generic_malloc_many (in 
> /usr/lib/x86_64-linux-gnu/libgc.so.1.0.3)
>    by 0x4E59654: GC_malloc (in /usr/lib/x86_64-linux-gnu/libgc.so.1.0.3)
>    by 0x472B40: pvm_alloc (pvm-alloc.c:28)
>    by 0x46ED26: pvm_make_box (pvm-val.c:76)
>    by 0x46ED50: pvm_make_string (pvm-val.c:85)
>    by 0x472724: pvm_make_exception (pvm-val.c:1207)
>    by 0x46B7B5: pkl_asm_new (pkl-asm.c:1115)
>    by 0x47262A: pvm_call_pretty_printer (pvm-val.c:1179)
>    by 0x471244: pvm_print_val_1 (pvm-val.c:856)
>    by 0x471E25: pvm_print_val (pvm-val.c:1038)
>    by 0x49C59E: pvm_execute_or_initialize (pvm.jitter:1216)
>    by 0x482E08: pvm_execute_executable_routine (pvm.jitter:527)
>    by 0x47C155: pvm_execute_routine (pvm.jitter:711)
>    by 0x46E946: pvm_run (pvm.c:125)
>    by 0x4726B1: pvm_call_pretty_printer (pvm-val.c:1192)
>    by 0x471244: pvm_print_val_1 (pvm-val.c:856)
>    by 0x471E25: pvm_print_val (pvm-val.c:1038)
>    by 0x4159F2: pk_print_val (libpoke.c:789)
>
> Conditional jump or move depends on uninitialised value(s)
>    at 0x4E4B03F: GC_is_black_listed (in 
> /usr/lib/x86_64-linux-gnu/libgc.so.1.0.3)
>    by 0x4E48C2A: GC_allochblk_nth (in 
> /usr/lib/x86_64-linux-gnu/libgc.so.1.0.3)
>    by 0x4E48F75: GC_allochblk (in /usr/lib/x86_64-linux-gnu/libgc.so.1.0.3)
>    by 0x4E511CA: GC_generic_malloc_many (in 
> /usr/lib/x86_64-linux-gnu/libgc.so.1.0.3)
>    by 0x4E59654: GC_malloc (in /usr/lib/x86_64-linux-gnu/libgc.so.1.0.3)
>    by 0x472B40: pvm_alloc (pvm-alloc.c:28)
>    by 0x46ED26: pvm_make_box (pvm-val.c:76)
>    by 0x46ED50: pvm_make_string (pvm-val.c:85)
>    by 0x472724: pvm_make_exception (pvm-val.c:1207)
>    by 0x46B7B5: pkl_asm_new (pkl-asm.c:1115)
>    by 0x47262A: pvm_call_pretty_printer (pvm-val.c:1179)
>    by 0x471244: pvm_print_val_1 (pvm-val.c:856)
>    by 0x471E25: pvm_print_val (pvm-val.c:1038)
>    by 0x49C59E: pvm_execute_or_initialize (pvm.jitter:1216)
>    by 0x482E08: pvm_execute_executable_routine (pvm.jitter:527)
>    by 0x47C155: pvm_execute_routine (pvm.jitter:711)
>    by 0x46E946: pvm_run (pvm.c:125)
>    by 0x4726B1: pvm_call_pretty_printer (pvm-val.c:1192)
>    by 0x471244: pvm_print_val_1 (pvm-val.c:856)
>    by 0x471E25: pvm_print_val (pvm-val.c:1038)
>
> Conditional jump or move depends on uninitialised value(s)
>    at 0x4E4B09F: GC_is_black_listed (in 
> /usr/lib/x86_64-linux-gnu/libgc.so.1.0.3)
>    by 0x4E48C2A: GC_allochblk_nth (in 
> /usr/lib/x86_64-linux-gnu/libgc.so.1.0.3)
>    by 0x4E48F75: GC_allochblk (in /usr/lib/x86_64-linux-gnu/libgc.so.1.0.3)
>    by 0x4E511CA: GC_generic_malloc_many (in 
> /usr/lib/x86_64-linux-gnu/libgc.so.1.0.3)
>    by 0x4E59654: GC_malloc (in /usr/lib/x86_64-linux-gnu/libgc.so.1.0.3)
>    by 0x472B40: pvm_alloc (pvm-alloc.c:28)
>    by 0x46ED26: pvm_make_box (pvm-val.c:76)
>    by 0x46ED50: pvm_make_string (pvm-val.c:85)
>    by 0x472724: pvm_make_exception (pvm-val.c:1207)
>    by 0x46B7B5: pkl_asm_new (pkl-asm.c:1115)
>    by 0x47262A: pvm_call_pretty_printer (pvm-val.c:1179)
>    by 0x471244: pvm_print_val_1 (pvm-val.c:856)
>    by 0x471E25: pvm_print_val (pvm-val.c:1038)
>    by 0x49C59E: pvm_execute_or_initialize (pvm.jitter:1216)
>    by 0x482E08: pvm_execute_executable_routine (pvm.jitter:527)
>    by 0x47C155: pvm_execute_routine (pvm.jitter:711)
>    by 0x46E946: pvm_run (pvm.c:125)
>    by 0x4726B1: pvm_call_pretty_printer (pvm-val.c:1192)
>    by 0x471244: pvm_print_val_1 (pvm-val.c:856)
>    by 0x471E25: pvm_print_val (pvm-val.c:1038)
>
> Jump to the invalid address stated on the next line
>    at 0x434BD200000: ???
>    by 0x4726B1: pvm_call_pretty_printer (pvm-val.c:1192)
>    by 0x471244: pvm_print_val_1 (pvm-val.c:856)
>    by 0x471E25: pvm_print_val (pvm-val.c:1038)
>    by 0x4159F2: pk_print_val (libpoke.c:789)
>    by 0x406C93: pk_cmd_exec (pk-cmd.c:626)
>    by 0x40591C: pk_repl (pk-repl.c:339)
>    by 0x404D06: main (poke.c:681)
>  Address 0x434bd200000 is not stack'd, malloc'd or (recently) free'd
>
>
> Process terminating with default action of signal 11 (SIGSEGV)
>  Bad permissions for mapped region at address 0x434BD200000
>    at 0x434BD200000: ???
>    by 0x4726B1: pvm_call_pretty_printer (pvm-val.c:1192)
>    by 0x471244: pvm_print_val_1 (pvm-val.c:856)
>    by 0x471E25: pvm_print_val (pvm-val.c:1038)
>    by 0x4159F2: pk_print_val (libpoke.c:789)
>    by 0x406C93: pk_cmd_exec (pk-cmd.c:626)
>    by 0x40591C: pk_repl (pk-repl.c:339)
>    by 0x404D06: main (poke.c:681)

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]