Project

General

Profile

Bug #4727

Assertion failed in ILB daemon: ret > 0, file ilbd_hc.c, line 1466, function ilbd_hc_child_data

Added by Serghei Samsi over 5 years ago.

Status:
New
Priority:
Normal
Assignee:
Category:
networking
Start date:
2014-04-04
Due date:
% Done:

0%

Estimated time:
Difficulty:
Medium
Tags:

Description

MDB output:

@f2fff798 libc_hwcap1.so.1`_lwp_kill+0x15(1, 6, f2fff7b8, ef840fe1)
f2fff7b8 libc_hwcap1.so.1`raise+0x25(6, 0, f2fff808, ef81873d)
f2fff808 libc_hwcap1.so.1`abort+0xf5(65737341, 6f697472, 6166206e, 64656c69, 6572203a, 203e2074)
f2fffa18 0xef818b70(8061a28, 8061e5c, 5bd, 8060690, 0, 0)
f2fffa78 0x805d5ff(9, 8d95550, 0, 0)
f2fffa98 ilbd_hc_probe_return+0x23(6, 9, 40, 8d95550)
f2fffad8 main_loop+0x102(4, 1)
f2fffaf8 main+0x197(1, f2fffb28, f2fffb30, f2fffb1c)
f2fffb1c _start+0x7d(1, f2fffbec, 0, f2fffbff, f2fffc1b, f2fffc22)

::status

debugging core file of ilbd (32-bit) from ilb-test
file: /rpool/ZONES/ilb-test/root/usr/lib/inet/ilbd
initial argv: /usr/lib/inet/ilbd
threading model: native threads
status: process terminated by SIGABRT (Abort), pid=26041 uid=1 code=-1
panic message: Assertion failed: ret > 0, file ilbd_hc.c, line 1466, function ilbd_hc_child_data
@

How to reproduce:
1. ILB rule should contain health-check
2. Health-check rule should point to not bound TCP port (in real life it happens if monitored service dies and its TCP port becomes free). It the tests I've just added unused port.

If I set in file /lib/svc/method/svc-ilbd
ilbd with -d argument, it shows some useful logs:
@i_ilbd_read_configi_ilbd_read_config: port 5
ilbd_audit_hc_event: skipping auditing
HELLO ret is not bigger than 0, , errno is Resource temporarily unavailable, ret is -1

Assertion failed: ret > 0, file ilbd_hc.c, line 1466, function ilbd_hc_child_data
/lib/svc/method/svc-ilbd: line 35: 12194: Abort(coredump)@

EAGAIN error occurs on file descriptor used by port event interface in ILB daemon code.

According to documentation it could appear due to - citate -
The maximum allowable number
of events or association of objects per port is
the minimum value of the process.max-port-events
resource control at the time port_create(3C) was
used to create the port".

But that limit doesn't seem to be overridden in ILB daemon process...

Also available in: Atom PDF