Fork us on GitHub Follow us on Google+ Follow us on Facebook Follow us on Twitter

Opened 2 months ago

Closed 6 weeks ago

Last modified 6 weeks 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ář 2 months ago.
Full serial console log

Download all attachments as: .zip

Change History (2)

Changed 2 months ago by Jakub Jermář

Attachment: serial.log added

Full serial console log

comment:1 Changed 6 weeks ago by Jakub Jermář

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 6 weeks ago by Jakub Jermář (previous) (diff)
Note: See TracTickets for help on using tickets.