[Crash-utility] [PATCH] cmdline: Add a new "--machdep stacksize=<value>".

Dominique Martinet asmadeus at codewreck.org
Thu Oct 11 04:49:10 UTC 2018


Sean Fu wrote on Thu, Oct 11, 2018:
> Your code is different from mine. The following is from my task.c:
> 
>   436         if (VALID_SIZE(task_union) && (SIZE(task_union) != STACKSIZE())) {
>   437                 error(WARNING, "\nnon-standard stack size: %ld\n",
>   438                         len = SIZE(task_union));
>   439                 machdep->stacksize = len;
>   440         } else if (VALID_SIZE(thread_union) &&
>   441                 ((len = SIZE(thread_union)) != STACKSIZE()))
>   442                 machdep->stacksize = len;
>   443 
>   444         MEMBER_OFFSET_INIT(pid_namespace_idr, "pid_namespace", "idr");
>   445         MEMBER_OFFSET_INIT(idr_idr_rt, "idr", "idr_rt");
> 
> My code repo:
> sean at linux-zmni:~/work/source/upstream/crash> git remote -v
> origin	https://github.com/crash-utility/crash.git (fetch)
> origin	https://github.com/crash-utility/crash.git (push)
> 
> What's your crash version?

Your checkout is a bit old, the extra check was added back in april in
this commit:

commit 6088a29f7e4ad7160e757679827db63ea41553df
Author: Dave Anderson <anderson at redhat.com>
Date:   Thu Apr 5 11:07:59 2018 -0400

    Fix for the "bt" command on 4.16 and later kernels size in which the
	"thread_union" data structure is not contained in the vmlinux file's
    debuginfo data.  Without the patch, the kernel stack size is not
	calculated correctly, and defaults to 8K.  As a result "bt" fails
	with the message "bt: invalid RSP: <address> bt->stackbase/stacktop:
	<address>/<address> cpu: <number>".
	(efault at gmx.de)

which is present in releases since 7.2.2 according to `git tag
--contains`, but development should probably always be done with an
updated tree
-- 
Domnique




More information about the Crash-utility mailing list