Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Is this repo still maintained? #107

Open
corneliusroemer opened this issue May 11, 2022 · 8 comments
Open

Is this repo still maintained? #107

corneliusroemer opened this issue May 11, 2022 · 8 comments
Labels
question Further information is requested

Comments

@corneliusroemer
Copy link

Summary

There's a pretty big bug #106 that sees a lot of projects switch away from using this crate. It hasn't received any comment or apparent attempt at fixing from anyone in the rust wasm org/team in 2 months.

Also, there has only been 1 commit in the last 3 years. Is this crate still maintained? It looks like @fitzgen is the original author and the other team members are @ZackPierce and @pepyakin.

Maybe the bug could be mentioned in the readme to raise awareness, so that people don't spend a lot of time debugging something that is not solvable.

What are alternatives for this crate?

This crate is quite popular at 2k daily downloads.

@corneliusroemer corneliusroemer added the question Further information is requested label May 11, 2022
@Titaniumtown
Copy link

I would like to know this too. I've been looking for alternatives but have been unable to find any good alternatives. Mimalloc doesn't work unless one uses emscripten purpleprotocol/mimalloc_rust#76 (comment). I don't know of any other ones that could be used.

@Craig-Macomber
Copy link

I just wrote lol_alloc as an alternative to wee_alloc. Initially I tried to fix wee_alloc but I found it easier and more interesting to just make a new WASM allocator from scratch.

If you go and use lol_alloc, do not trust it: do some real testing before you trust it and report any issues. I have not used it in anything beyond a few minimal tests. Its quite likely full of worse bugs than wee_alloc has, but I'm confident I'll be able to fix them when found.

@ZackPierce
Copy link
Collaborator

Effectively, no, I don't think this repo is maintained. I contributed a bit several years ago with a side feature, but my present work has moved away from using this crate, and I haven't been able to pull together enough free time to mount a real attempt at facing down the serious bugs.

@pinkforest
Copy link

pinkforest commented Aug 30, 2022

Cool. We'll flag unmaintained on it at rustsec/advisory-db#1394 to gently nudge any users .. just have to come up with a list of alternatives if possible other than the std one

@Craig-Macomber lol_alloc can be a honorable mention around research project around it :)

@Craig-Macomber
Copy link

Cool. We'll flag unmaintained on it at rustsec/advisory-db#1394 to gently nudge any users .. just have to come up with a list of alternatives if possible other than the std one

lol_alloc is the only alternative I know of other that std, at least for wasm32-unknown-unknown. I wrote it because I couldn't find anything else.

rustwasm/book still recommends using wee_alloc: https://github.com/rustwasm/book/search?q=wee_alloc&type=code

If someone wants to confirm those cases work with lol_alloc (I might someday, but not now) we might want to update them. Alternatively we could just have the book stick with std.

CBenoit added a commit to Devolutions/picky-rs that referenced this issue Sep 19, 2022
`wee_alloc` crate is currently unmaintained and has a few open issues.
In particular, one of these issue is an unbounded memeroy leak. As such,
we stop considering this crate as production-ready and switch to the
default Rust standard allocator in newer NPM packages.

- rustwasm/wee_alloc#106
- rustwasm/wee_alloc#107
- https://rustsec.org/advisories/RUSTSEC-2022-0054.html

Issue: ARC-98
CBenoit added a commit to Devolutions/picky-rs that referenced this issue Sep 19, 2022
`wee_alloc` crate is currently unmaintained and has a few open issues.
In particular, one of these issue is an unbounded memeroy leak. As such,
we stop considering this crate as production-ready and switch to the
default Rust standard allocator in newer NPM packages.

- rustwasm/wee_alloc#106
- rustwasm/wee_alloc#107
- https://rustsec.org/advisories/RUSTSEC-2022-0054.html

Issue: ARC-98
tgeoghegan added a commit to divviup/hpke-dispatch that referenced this issue Sep 29, 2022
`wee_alloc` is unmaintained ([1]), which is generating security
advisories on `hpke-dispatch` and projects that depend on it. AFAIK,
there's no alternative to it that is much better supported, so we drop
the dependency altogether and use the std allocator.

[1]: rustwasm/wee_alloc#107
tgeoghegan added a commit to divviup/hpke-dispatch that referenced this issue Sep 29, 2022
`wee_alloc` is unmaintained ([1]), which is generating security
advisories on `hpke-dispatch` and projects that depend on it. AFAIK,
there's no alternative to it that is much better supported, so we drop
the dependency altogether and use the std allocator.

[1]: rustwasm/wee_alloc#107
@Titaniumtown
Copy link

I would like to know this too. I've been looking for alternatives but have been unable to find any good alternatives. Mimalloc doesn't work unless one uses emscripten purpleprotocol/mimalloc_rust#76 (comment). I don't know of any other ones that could be used.

I've now used lol_alloc without any issues for months now. Good work @Craig-Macomber

@polarathene
Copy link

Since no comments in this issue have mentioned it, another alternative allocator that may be of interest is talc (WASM README with light comparisons to lol_alloc and the default dlmalloc).

@Craig-Macomber
Copy link

Craig-Macomber commented Nov 22, 2023

Since no comments in this issue have mentioned it, another alternative allocator that may be of interest is talc (WASM README with light comparisons to lol_alloc and the default dlmalloc).

Thanks for the link. Not only does talc look like it fills the nitch of an actually good for general use but still smallish allocator, but also has much better perf data than I ever collected on lol_alloc myself. I may have to play with those benchmarks a bit.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

6 participants