includeos/IncludeOS

Revenant startup allocates

fwsGonzo opened this issue · 1 comments

Somewhere in the SMP revenant startup code there is an allocation, which is (probably) forbidden.
It was the IST initialization that used memalign, which is now moved further down.

                AP 3 started at 0x4bb000
/home/gonzo/git/includeos/IncludeOS/src/../api/util/alloc_buddy.hpp:477:allocate
>>> Expects failed: ! is_taken()

	**** PANIC ****
CPU: 1, Reason: Expects failed: ! is_taken()
Heap is at: 0x942000 / 0x7fcebff  (diff=124308479)
Heap area: 5188 / 126582 Kb (allocated 4740 kb)
Total memory use: ~7% (9248768 of 134016000 b)
*** Found 0 plugin constructors:

*** Backtrace:
[0] 0x0000000000245a90 + 0x42e: os::panic(char const*)
[1] 0x000000000023c800 + 0x061: __expect_fail(char const*, char const*, int, char const*)
[2] 0x0000000000260fd0 + 0x0be: os::mem::buddy::Alloc<false>::Node_view::allocate(unsigned long)
[3] 0x0000000000260fd0 + 0x1e4: os::mem::buddy::Alloc<false>::Node_view::allocate(unsigned long)
[4] 0x0000000000260fd0 + 0x1e4: os::mem::buddy::Alloc<false>::Node_view::allocate(unsigned long)
[5] 0x0000000000260fd0 + 0x1e4: os::mem::buddy::Alloc<false>::Node_view::allocate(unsigned long)
[6] 0x0000000000260fd0 + 0x15d: os::mem::buddy::Alloc<false>::Node_view::allocate(unsigned long)
[7] 0x0000000000260fd0 + 0x15d: os::mem::buddy::Alloc<false>::Node_view::allocate(unsigned long)
[8] 0x0000000000260fd0 + 0x15d: os::mem::buddy::Alloc<false>::Node_view::allocate(unsigned long)
[9] 0x0000000000260fd0 + 0x15d: os::mem::buddy::Alloc<false>::Node_view::allocate(unsigned long)
[10] 0x0000000000260fd0 + 0x15d: os::mem::buddy::Alloc<false>::Node_view::allocate(unsigned long)
[11] 0x00000000002600c0 + 0x0b6: os::mem::buddy::Alloc<false>::allocate(unsigned long)
[12] 0x0000000000260010 + 0x07e: kalloc
[13] 0x00000000002606a0 + 0x074: sys_mmap(void*, unsigned long, int, int, int, long)

However, it still crashes.

Solved now, it was heap troubles after all!