[EXTERNAL] Re: new port seeing ipmid exiting with seg fault

Patton, Schuyler spatton at ti.com
Thu Sep 22 15:44:41 AEST 2022


Hi Andrew and all,

I have used remote gdb to debug the cause of the seg faults for phosphor-host-ipmid to this structure (MetaPassStruct in user_channel/passwd_mgr.cpp). This structure appears to initialized correctly, extremely large values. I notice that a commit (05703ad - Anton Blanchard, I am using a 64 bit machine) was made to change structure elements of the MetaPassStruct and the commit message mentioned this would fix seg faults. I added a bbappends that pulls in the ipmid current top of tree of a23af1 and this included 05703ad commit but the ipmid now fails before getting to the passwdmgr that was seg faulting earlier. 

Apologies as I am new to OpenBMC but I was looking for guidance on which ipmid commit I should use beyond the bfd3a17 commit that seg faults.

Regards,
Schuyler

-----Original Message-----
From: Andrew Jeffery <andrew at aj.id.au> 
Sent: Monday, August 29, 2022 9:00 PM
To: Patton, Schuyler <spatton at ti.com>; openbmc at lists.ozlabs.org
Subject: [EXTERNAL] Re: new port seeing ipmid exiting with seg fault

Hi Schuyler,

On Tue, 30 Aug 2022, at 00:45, Patton, Schuyler wrote:
> Hi all,
>
> In our port the ipmid is exiting with a seg fault.  Does anyone have 
> any suggestions on what to look at or what the problem might be? I 
> have included some info I collected from systemctl and journalctl. 
> Thanks in advance for any pointers, suggestions.

You might find some useful tricks for debugging the segfault in my blog post here:

https://amboar.github.io/notes/2022/01/13/openbmc-development-workflow.html

Broadly, the idea is to get gdb hooked up to debug either the process or the core dump. If you can extract the core dump from the system then you can use the bbdbg script in concert with your local OpenBMC build tree to generate a rootfs context to debug the core using gdb-multiarch. The other way to go is to get gdbserver onto the BMC and then use remote gdb (again using e.g. bbdbg to generate the context in which gdb runs).

Hope that helps,

Andrew


More information about the openbmc mailing list