Opened 6 years ago

Closed 5 years ago

Last modified 5 years ago

#743 closed defect (fixed)

Assertion failed (main_fibril.tcb) in task 88, file "generic/libc.c", line 80.

Reported by: Jakub Jermář Owned by:
Priority: major Milestone: 0.8.0
Component: helenos/lib/c Version: mainline
Keywords: Cc:
Blocker for: Depends on:
See also:

Description

When executing the scenario of libisl smoke test manually (several times in row), I hit the following assertion:

[loader(88)] Assertion failed (main_fibril.tcb) in task 88, file "generic/libc.c", line 80.
[loader(88)] 0x00007fffffffff60: 0x000000007000e6b5()
[loader(88)] 0x00007fffffffff90: 0x000000007000e878()
[loader(88)] 0x00007fffffffffc0: 0x0000000070000954()
[loader(88)] 0x00007fffffffffe0: 0x0000000070000243()
[loader(88)] 0x00007ffffffffff0: 0x00000000700001a2()
[loader(88)] -- end of stack trace --

See the attachment for full log.

Attachments (1)

serial.log (20.9 KB ) - added by Jakub Jermář 6 years ago.
Full serial console log

Download all attachments as: .zip

Change History (2)

by Jakub Jermář, 6 years ago

Attachment: serial.log added

Full serial console log

comment:1 by Jakub Jermář, 5 years ago

Resolution: fixed
Status: newclosed

This was clearly a situation when after a successful boot and spawning of about 19 tasks, the loader ran out of memory and failed to allocate TLS for the loaded program in ldr_load(). This was later asserted on in __libc_main(). Commit c74b9de1187f3b60a7db1aad1e1fcd51ae134f24 detects such a failure in ldr_load() and gracefully fails loading of the program.

Last edited 5 years ago by Jakub Jermář (previous) (diff)
Note: See TracTickets for help on using tickets.