intel / openlldp

Other
54 stars 42 forks source link

lldp crashes with "error 6 in lldpad #85

Closed SrijitNair closed 1 year ago

SrijitNair commented 2 years ago

Hi All,

On my system, lldp keeps crashing with the following error : kernel: [1590523.105977] lldpad[17922]: segfault at c68 ip 000055f3a7de9c6a sp 00007ffc816b37c0 error 6 in lldpad[55f3a7dad000+60000]

lldpad.service: main process exited, code=killed, status=11/SEGV Unit lldpad.service entered failed state.

Version : lldpad-1.0.1-5.1.git036e314.el7.centos.x86_64

Is there a known bug for this ?

Thanks, Srijit

SrijitNair commented 2 years ago

I have 2500 + interfaces in the lldp conf which are non existent interfaces. These were veth pairs and were deleted from the system. Could this cause lldp to crash ? I expected the non existent interfaces to be removed automatically.

apconole commented 2 years ago

SrijitNair @.***> writes:

Hi All,

On my system, lldp keeps crashing with the following error : kernel: [1590523.105977] lldpad[17922]: segfault at c68 ip 000055f3a7de9c6a sp 00007ffc816b37c0 error 6 in lldpad [55f3a7dad000+60000]

lldpad.service: main process exited, code=killed, status=11/SEGV Unit lldpad.service entered failed state.

Version : lldpad-1.0.1-5.1.git036e314.el7.centos.x86_64

Is there a known bug for this ?

I'm not sure - it looks like that version is a bit older. Can you try building from the 1.1.0 branch and see if that resolves the crash? Or a crashdump (see coredumpctl(1) for more information). I wasn't able to find what changes were included with the version of lldpad-1.0.1-5.1 from centos that you reference.

SrijitNair commented 2 years ago

lldpad adds all interfaces to lldpad.conf, but they are not cleaned when the interfaces are deleted. If the interfaces are virtual ethernets that are transient, the interfaces are not removed. This causes the lldpad.conf to keep growing. lldp scan this list for changes to all the listed interfaces. This is causing the lldp to crash. Has there been a fix for this in latest releases ?

SrijitNair commented 2 years ago

Hi @orgcandman ,

I cannot move to the latest version of lldpad. We are centos 7.8 and the version of lldpad we have is the most recent for that os. If its a cleanup issue of the interfaces in the lldap.confd db, which file will have the related code ? I am looking to add some clean up and patch my rpm.

Thanks, Srijit

apconole commented 1 year ago

Perhaps you can add a change to the daemon startup script that will delete the ports? Otherwise the interface storage code will be in config.c