-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
Profiler does not collect any samples after JavaCall.init() #25371
Comments
cc @aviks – seems likely to be a JavaCall issue, but I'm not sure. |
If so, does that mean that packages can silently break core functionality? |
Based on the JavaCall FAQ, I'm pretty sure this is because JVM installs its own signal handlers which interfere with the signal handlers Julia uses for profiling.
Both Julia and Java have FFI. Strictly speaking, there's not much a package can't do within the limits of the kernel. (which on x86 these days is ... well, nevermind). It would be good to at least detect the situation and report a better error. |
Yeah, I think is pretty much just a limitation of the linux kernel. There's a way to configure the JVM (I forget if its a flag, library, or environment variable) to use signals differently, which may help. |
So there's no guarantee that some package, or an update of a package, will not cause unrelated code to produce rubbish? |
It depends on what you mean with unrelated, but in general no. A package could e.g. redefine plus to mean minus. |
Right, but in this case it will not be silent. I'm wondering about cases without any warning. |
In general, any code you use might cause your program to do anything. This is not unique to Julia. |
After calling JavaCall.init() in JavaCall.jl package, the profiler does not collect any samples anymore until REPL is restarted. Profile.init() returns the same (1000000, 0.001) both before and after the call.
--
Julia 0.6.2, JavaCall 0.5.2, Linux (x86_64-pc-linux-gnu)
The text was updated successfully, but these errors were encountered: