On Thu, 2019-04-18 at 11:09 -0400, Dave Anderson wrote:
----- Original Message -----
> On Thu, 2019-04-18 at 15:02 +0100, Pierguido Lambri wrote:
> > Hello,
> >
> > Today while I was looking into a vmcore, I got suddenly the
> > message
> > in $SUBJECT.
> > It started after I did a search into the process stack pages
> > (search
> > -t)
> > and for each command I run afterwards I kept getting that
> > message.
> > For example:
> >
> > $ retrace-server-interact 603967269 crash
> > ...
> > crash> search -t ffff88040a0d5280
> >
> > search: invalid list entry: 0
> >
> > search: invalid list entry: 0
> >
> > search: invalid list entry: 0
> > PID: 606 TASK: ffff88082d226eb0 CPU: 5 COMMAND:
> > "xfsaild/dm-0"
> > ffff88083ff5b948: ffff88040a0d5280
> > ffff88083ff5b990: ffff88040a0d5280
> > ffff88083ff5baa8: ffff88040a0d5280
> > ffff88083ff5baf0: ffff88040a0d5280
> > ffff88083ff5bcf0: ffff88040a0d5280
> > ffff88083ff5bd38: ffff88040a0d5280
> > ffff88083ff5bd98: ffff88040a0d5280
> >
> >
> > WARNING: malloc/free mismatch (29/32)
> >
> > crash> ps -m | grep UN
> > [ 0 00:00:00.146] [UN] PID: 1811 TASK: ffff880c17bd1fa0 CPU:
> > 1 COMMAND: "cp"
> > WARNING: malloc/free mismatch (29/32)
> >
> > I guess this comes from a possible corrupted vmcore (I just got
> > it
> > from this vmcore),
> > but I wonder why every new command keeps returning the same
> > message.
> >
> > Thanks,
> >
> > Pier
> >
> > --
> > Crash-utility mailing list
> > Crash-utility(a)redhat.com
> >
https://www.redhat.com/mailman/listinfo/crash-utility
>
> FWIW, I just pulled this up after plambri pinged me. This is the
> backtrace that is being hit though I've not dug in more:
>
> Breakpoint 3, do_list (ld=0x7ffffffea6c0) at tools.c:3820
> 3820 error(INFO, "\ninvalid list
> entry:
> 0\n");
> (gdb) list
> 3815 return -1;
> 3816 }
> 3817
> 3818 if (next == 0) {
> 3819 if (ld->flags & LIST_HEAD_FORMAT) {
> 3820 error(INFO, "\ninvalid list
> entry:
> 0\n");
> 3821 if (close_hq_on_return)
> 3822 hq_close();
> 3823 return -1;
> 3824 }
> (gdb) bt
> #0 do_list (ld=0x7ffffffea6c0) at tools.c:3820
> #1 0x000000000047ec82 in dump_vmap_area (vi=0x7ffffffed0d0) at
> memory.c:8724
> #2 dump_vmlist (vi=0x7ffffffed0d0) at memory.c:8590
> #3 0x000000000047f3eb in last_vmalloc_address () at memory.c:16792
> #4 0x0000000000515e6b in x86_64_get_kvaddr_ranges
> (vrp=0x7fffffffd340) at x86_64.c:8706
> #5 0x000000000049c6ae in cmd_search () at memory.c:13988
> #6 0x0000000000465f9c in exec_command () at main.c:879
> #7 0x00000000004661ca in main_loop () at main.c:826
> #8 0x00000000006b21a3 in captured_command_loop (data=<value
> optimized out>) t main.c:258
> #9 0x00000000006b0a8b in catch_errors (func=0x6b2190
> <captured_command_loop>, func_args=0x0, errstring=0x90c106 "",
> mask=6) at exceptions.c:557
> #10 0x00000000006b3076 in captured_main (data=<value optimized
> out>) at main.c:1064
> #11 0x00000000006b0a8b in catch_errors (func=0x6b22b0
> <captured_main>, func_args=0x7fffffffe2e0, errstring=0x90c106 "",
> mask=6) at exceptions.c:557
> #12 0x00000000006b1fa4 in gdb_main (args=<value optimized out>) at
> main.c:1079
> #13 0x00000000006b1fde in gdb_main_entry (argc=<value optimized
> out>, argv=<value optimized out>) at main.c:1099
> #14 0x0000000000467030 in main (argc=3, argv=0x7fffffffe458) at
> main.c:707
Hmmm, the vmap_area list is a list_head type list, so there should
never be
a NULL "next" pointer.
I'm guessing that "kmem -v" also fails? The last vmap_area entry
should point back to
the global "vmap_area_list" list header, for example:
crash> kmem -v | tail
ffff96e7ecaaca80 ffff96e54c89c400 ffffffffc0e54000 -
ffffffffc0e5a000 24576
ffff96e757ffe380 ffff96e4be98f3c0 ffffffffc0e5d000 -
ffffffffc0e6d000 65536
ffff96e467b33400 ffff96e6a3ae1a00 ffffffffc0e6d000 -
ffffffffc0e73000 24576
ffff96e85cf4e600 ffff96e752c52b40 ffffffffc0e77000 -
ffffffffc0e7c000 20480
ffff96e85cf4e380 ffff96e5506c6c00 ffffffffc0e7c000 -
ffffffffc0e81000 20480
ffff96e802baa500 ffff96e5506c69c0 ffffffffc0e81000 -
ffffffffc0e86000 20480
ffff96e802baac00 ffff96e5506c6cc0 ffffffffc0e86000 -
ffffffffc0e8c000 24576
ffff96e574196f80 ffff96e55ffd6c80 ffffffffc0e90000 -
ffffffffc0e95000 20480
ffff96e574196680 ffff96e55ffd6880 ffffffffc0e95000 -
ffffffffc0e9a000 20480
ffff96e87c222800 ffff96e5496ca680 ffffffffc0e9a000 -
ffffffffc0ea4000 40960
crash> vmap_area ffff96e87c222800
struct vmap_area {
va_start = 18446744072651120640,
va_end = 18446744072651161600,
flags = 4,
rb_node = {
__rb_parent_color = 18446628510972342169,
rb_right = 0x0,
rb_left = 0xffff96e574196698
},
list = {
next = 0xffffffffae69af90,
prev = 0xffff96e5741966b0
},
purge_list = {
next = 0x0,
prev = 0xdead000000000200
},
vm = 0xffff96e5496ca680,
callback_head = {
next = 0x0,
func = 0xffff96e71d51aa00
}
}
crash> sym 0xffffffffae69af90
ffffffffae69af90 (D) vmap_area_list
crash>
Dave
--
Crash-utility mailing list
Crash-utility(a)redhat.com
https://www.redhat.com/mailman/listinfo/crash-utility
crash> list -H 0xffffffff81a7bcf0 -o vmap_area.list | tail
Detaching after fork from child process 12369.
list: invalid list entry: 0
ffff8801926c2080
ffff8801926c2f80
ffff8801926c2800
ffff8801926c2a00
ffff8801926c2480
ffff8801926c2680
ffff8801926c2b00
ffff880407a85780
list: invalid list entry: 0
crash> vmap_area ffff8801926c2b00
struct vmap_area {
va_start = 18446683600753532928,
va_end = 18446683600753541120,
flags = 1,
rb_node = {
__rb_parent_color = 18446612139065747097,
rb_right = 0x0,
rb_left = 0x0
},
list = {
next = 0xffff880407a857b0,
prev = 0xffff8801926c26b0
},
purge_list = {
next = 0xffff8801926c2b40,
prev = 0xffff8801926c2b40
},
vm = 0x0,
callback_head = {
next = 0x0,
func = 0xffffffff81768520 <if6_seq_ops>
}
}
crash>
crash> vmap_area ffff880407a85780
struct vmap_area {
va_start = 0,
va_end = 0,
flags = 0,
rb_node = {
__rb_parent_color = 0,
rb_right = 0x0,
rb_left = 0x0
},
list = {
next = 0x0,
prev = 0x0
},
purge_list = {
next = 0x0,
prev = 0x0
},
vm = 0x0,
callback_head = {
next = 0x0,
func = 0x0
}
}
crash>