[Crash-utility] transaction_t in jbd module vs. transaction_t in jbd2 module
Dave Anderson
anderson at redhat.com
Thu Dec 19 13:57:51 UTC 2013
----- Original Message -----
> Hello,
>
> We recently encountered an issue where a transaction_t struct appeared
> to be corrupt but this ended up being a symbol conflict as the customer
> was using ext3 and ext4 and had both modules in use. Unloading the jbd
> module did not help and the only way to see the correct representation
> of the the transaction_t struct in question was to restart crash without
> any modules loaded and load only the jbd2 module.
That may be the best way to deal with it, however...
> Is this a known issue? Is there a strategy that needs to be followed for
> dealing with duplicate symbols?
Yes it is a known issue. You may be able to use "set scope <text-addr>"
using a text address from the jbd2 module that would "see" the relevant
structure:
crash> help set
NAME
set - set a process context or internal crash variable
SYNOPSIS
set [[-a] [pid | taskp] | [-c cpu] | -p] | [crash_variable [setting]] | -v
... [ cut ] ...
This command may also be used to set internal crash variables. If no value
argument is entered, the current value of the crash variable is shown. These
are the crash variables, acceptable arguments, and purpose:
... [ cut ] ...
scope text-addr sets the text scope for viewing the definition
of data structures; the "text-addr" argument
must be a kernel or module text address, which
may be expressed symbolically or as a hexadecimal
value.
It sets the internal gdb block scope based upon the text address, but I can't
guarantee that it will always work.
Dave
More information about the Crash-utility
mailing list