-
Notifications
You must be signed in to change notification settings - Fork 10
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
Crash on some VM Linux systems #192
Comments
Can you get your hands on a core dump and extract a backtrace for the parts beyond the FFI where the crash happens? |
No, there is no apport tool in the docker container. That we does have no core dump yet. |
We have created a sample repository, also containing a sample core dump: https://github.com/gamma/temurin-jvm-docker-crash-sample/blob/main/core-dump.tar.gz |
Brilliant, thank you, I'll investigate! |
OK, so I could not reproduce the crash on my machine (Debian unstable, so pretty close to Ubuntu 21, OpenJDK 17.0.2 2022-01-18, x86_64). I also tried with OpenJDK 11.0.14 2022-01-18, also no crash. |
You can use the stock |
We also added an issue with the JDK here: adoptium/adoptium-support#477 Maybe there is additional valuable information for you. |
So I was able to get a bit further with this:
Here's the backtrace from Maybe this has something to with the musl libc? Can you provide more information on your Ubuntu setup so I can try to reproduce it there? |
Thanks for the info so far. We'll check that tomorrow and get back to you. The binary libopenjp was not specifically linked with musl afaik. The original Linux one works with the adoptopenjdk 12 alpine stock image afaik. I already thought about that - and we tried with a custom glibc build which did not work. I can check for compiling libopenjp2 with musl tomorrow as well (or maybe there is one in the package repos for alpine) |
Bingo, I just ran it inside the Docker container mentioned above with the
---- edit: Yep, that seems to be the case:
---- edit: The plot thickens, recall the if ((fmt != 00) && (p_event_mgr != 00)) {
va_list arg;
char message[OPJ_MSG_SIZE];
memset(message, 0, OPJ_MSG_SIZE);
/* initialize the optional parameter list */
va_start(arg, fmt);
/* parse the format string and put the result in 'message' */
vsnprintf(message, OPJ_MSG_SIZE, fmt, arg); // 💣💣💣
/* force zero termination for Windows _vsnprintf() of old MSVC */
message[OPJ_MSG_SIZE - 1] = '\0';
/* deinitialize the optional parameter list */
va_end(arg);
/* output the message to the user program */
msg_handler(message, l_data);
} https://github.com/uclouvain/openjpeg/blob/master/src/lib/openjp2/event.c#L128-L129 |
Sweet. Good catch. I did not check the |
Yes, I think the easiest way would be to rely on the distro-provided |
On some combinations of Linux and Java VM we have a crash of the Java VM with imageio-openjpeg. For example on Ubuntu 21 and Java 11 or Alpine/Docker with Java 17. Any idea for the cause?
hs_err_pid165.log
The text was updated successfully, but these errors were encountered: