-
Notifications
You must be signed in to change notification settings - Fork 11
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
Add GC-safe regions around some ccall
s
#42
base: master
Are you sure you want to change the base?
Conversation
CI failure seems unrelated? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks good to me. I suggested some changes to the capitalization of comments to make them consistent with the other comments in the file.
This needs some additional tweaks for correctness -- coming shortly. |
adf1dc8
to
0ecf4f8
Compare
This is ready to go. Thanks to @vchuravy for his input! |
Bump. Attn: @ViralBShah or @omus or @sjkelly. |
@kpamnany invited you as a member of the org. Please merge and tag. Is the windows failure relevant? I think earlier PRs were not failing on windows. |
The segfault is coming from within this ccall. I haven't touched this part of the code, but the caller of that function, here, is playing fast and loose with |
There does not appear to be any uses of |
Specifically, around `LZ4_compress_fast`, `LZ4_compress_destSize` and `LZ4_decompress_safe`. If these are called on large data (on the order of GBs), the calls could take multiple seconds during which GC cannot run without these GC-safe regions.
0ecf4f8
to
db79d9c
Compare
There's a lot of Seems like this package needs some cleaning up. |
Very strangely sketchy way to make unsafe_store slower and more unsafe |
@vtjnash What exactly should be done? |
Someone needs to go rewrite that code without the calls to |
We have this in package cleanup on our TODO list. Unfortunately, that TODO list is very long at the moment, so I don't know how soon we'll get to this. Cc: @NHDaly |
@nhz2 I have invited you to the org. Can you accept and see if you are able to merge? |
Thanks, I am part of the JuliaIO org, but for some reason, I still see "You’re not authorized to merge this pull request." I was able to merge JuliaIO/CodecBzip2.jl#25 so there must be something special about the settings in this repo. |
Ah. Most of the repos had only read as the default permission for the team. I updated those - and you should be able to merge now. Glad we got this fixed! |
I still don't have permission to merge on this repo. I see "The base branch restricts merging to authorized users. Learn more about protected branches." |
I don't see you as a member of JuliaIO, and it says invitation pending. In fact there were two past invitations that timed out. I don't have a direct link I can send you for accepting the invitation, as far as I can tell. |
Never mind - I was misspelling your id. I have made you owner. |
I merged that PR for now. Tell me if we should make a new version as well. |
Might be good to get this one in and then release, but @nhz2 may be the best person to suggest. |
I'll release a new version to get #43 in and fix PkgEval. I'm not sure what |
@vtjnash Can you review and possibly fix this PR? |
Specifically, around
LZ4_compress_fast
,LZ4_compress_destSize
andLZ4_decompress_safe
. If these are called on large data (on the order of GBs), the calls could take multiple seconds during which GC cannot run without these GC-safe regions.Ref: JuliaLang/julia#51574
Please note that when JuliaLang/julia#49933 lands, these changes should be subsumed by whatever that requires.