purpleprotocol / mimalloc_rust

A Rust wrapper over Microsoft's MiMalloc memory allocator
MIT License
481 stars 42 forks source link

Box::pin does lead to crash if "-Cprefer-dynamic" is set using nightly-2023-05-26 or newer #98

Open dragonnn opened 11 months ago

dragonnn commented 11 months ago

I created a sample repo with does reproduce the problem under Linux https://github.com/dragonnn/mimalloc-rust-box-pin-crash If it uses nightly-2023-05-26 with is the first version that started crashing my bigger project where I use -Cprefer-dynamic to speed up linking time during development. If the project uses nightly-2023-05-25 it works fine or if -Cprefer-dynamic is removed it also works fine. I know -Cprefer-dynamic isn't something often used with rust, so I suspect it isn't high priority but still I decide to report it (it might be also a rust nightly bug, but I don't have the knowledge to find that out). Thanks for any feedback! I am not sure but that might be somehow also connected to https://github.com/purpleprotocol/mimalloc_rust/issues/96 ? But in this case it crashes with default-features = false too. It crashes with:

realloc(): invalid pointer
fish: Job 1, 'cargo run' terminated by signal SIGABRT (Aborted)
nathaniel-daniel commented 10 months ago

This is likely https://github.com/rust-lang/rust/issues/114518, so I don't think anything can be done here about that.

dragonnn commented 10 months ago

This is likely rust-lang/rust#114518, so I don't think anything can be done here about that.

Oh yeah, that looks like it. Thanks for the link! I follow that up, I think keeping it open as long the upstream issue isn't solved should be fine.