AssemblyScript / assemblyscript

A TypeScript-like language for WebAssembly.
https://www.assemblyscript.org
Apache License 2.0
16.82k stars 655 forks source link

heap.alloc call hangs the function #2848

Open Sebight opened 4 months ago

Sebight commented 4 months ago

Bug description

Whenever calling the heap.alloc function, the whole function process stops -> possibly aborts.

export function allocate(size: i32): usize {
    logi(size);
    logi(memory.size());
    let ptr: usize = heap.alloc(size);
    logi(i32(ptr));
    return ptr;
}

It logs (back to my C++ host) the first 2 lines and then it stops. It does not call abort, so I have no idea what's up.

Am I doing something wrong? Thanks

Steps to reproduce

export function allocate(size: i32): usize {
    logi(size);
    logi(memory.size());
    let ptr: usize = heap.alloc(size);
    logi(i32(ptr));
    return ptr;
}

Try to allocate heap like so

AssemblyScript version

0.27.27