[Crash-utility] [PATCH 2/2] Revert "crash_taget: fetch_registers support"
HAGIO KAZUHITO(萩尾 一仁)
k-hagio-ab at nec.com
Thu Sep 29 08:05:11 UTC 2022
On 2022/09/29 12:32, lijiang wrote:
>>>> On 2022/09/27 15:27, Lianbo Jiang wrote:
>>>>> This reverts commit 2f967fb5ebd737ce5eadba462df35935122e8865. John
>>>>> Pittman reports that it causes a regression issue on the old Vmware
>>>>> vmcore as below:
>>>>>
>>>>> crash> set scope dm_table_create
>>>>> set: attempting to find/load "dm_mod" module debuginfo
>>>>> MODULE NAME BASE SIZE
>>>> OBJECT FILE
>>>>> ffffffffa0012dc0 dm_mod ffffffffa0000000 102823
>>>> /home/2.6.32-754.35.1.el6.x86_64/kernel/drivers/md/dm-mod.ko.debug
>>>>> scope: ffffffffa0006cf0 (dm_table_create)
>>>>> crash> whatis struct dm_table
>>>>> struct dm_table {
>>>>> uint64_t features;
>>>>> struct mapped_device *md;
>>>>> unsigned int type;
>>>>> unsigned int depth;
>>>>> unsigned int counts[16];
>>>>> sector_t *index[16];
>>>>> unsigned int num_targets;
>>>>> unsigned int num_allocated;
>>>>> sector_t *highs;
>>>>> struct dm_target *targets;
>>>>> struct target_type *immutable_target_type;
>>>>> unsigned int integrity_supported : 1;
>>>>> unsigned int singleton : 1;
>>>>> fmode_t mode;
>>>>> struct list_head devices;
>>>>> void (*event_fn)(void *);
>>>>> void *event_context;
>>>>> struct dm_md_mempools *mempools;
>>>>> struct list_head target_callbacks;
>>>>> }
>>>>> SIZE: 312
>>>>> crash> whatis _name_buckets --->| After using the whatis
>>>> _name_buckets command,
>>>>> struct list_head _name_buckets[64]; |
>>>>> crash> whatis struct dm_table <---| it won't show the contents
>>>> of the dm_table struct.
>>>>> struct dm_table {
>>>>> int undefined__;
>>>>> }
>>>>> SIZE: 312
>>>>> crash>
>>>>>
>>>>> With the patch, this issue disappeared.
>>>> At first glance, I did not find any part of the patch that can cause
>>>> the issue. Do you have any detailed information?
>>>>
>>>>
>>> This issue is observed on an old Vmware vmcore, and looks like a
>> regression
>>> issue.
>>
>> Is the vmcore a .vmss file? or one captured by kdump?
>>
>>
> It's a .vmss file.
I see.
>>> I tried to dig into the detail, the raw_supply() operation may affect the
>>> gdb behavior, it
>>> will store the register values to a cache in the gdb.
>>>
>>> So far I haven't got a good solution, let's see if Alex has a better way
>> to
>>> fix it, that would be welcome. Any thoughts?
>>
>> I suspected that the issue might depend on the debuginfo, but could not
>> reproduce it with the same 2.6.32-754.35.1.el6.x86_64 vmlinux.
>>
>> but even with reverting the patch, I found that "set scope 0" does not
>> work well, though not sure whether it's related to the issue.
>>
>>
> There may be a different issue, the 'set scope 0' can work in my case. Can
> you try the '-r' option to work around your issue?
Nice, "set scope 0" works well with "mod -sr dm_mod".
>> so I guess that "set scope" with gdb-10.2 has a problem in the
>> first place. The second issue above might become a clue.
>>
> Lianbo, is it possible to look into the issues more? It might
>> find a better implementation for "set scope".
>>
>>
> Sure. Will try it. But it might be another issue. In my case, after
> reverting the commit, it can not be reproduced, otherwise, it is always
> reproduced.
ok, they looks different.
Anyway, Alexey's patch was already released in crash-8.0.0, reverting it
will also be a regression for VMware folks. If we do it, I think at least
the necessity of reverting should be explained enough.
Thanks,
Kazu
More information about the Crash-utility
mailing list