-
Notifications
You must be signed in to change notification settings - Fork 846
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
Cannot use Java #746
Comments
Thanks @tady159 for reporting this! Your report sounds very similar to #566 . Also probably related to #541 . Could you take a look to see if either of those tickets match your concerns? If so, there's a bunch of discussion on both of them already; it would probably be best to have all comments from affected people in the same place. |
@aseering I apologize for the duplicate. I did try searching for Java related issues before posting, but I didn't get to those threads, which do match my current issue. |
Java not working is something we could not address in time for the anniversary edition. We have fixed this in internal builds and they should be rolling out soon in a future insider release. |
Can you share what was wrong? I debugged a JRE build under gdb for a few hours in June but couldn't pin down any failing syscall or come up with a tight test case that would hang. That is, my test cases frustratingly kept succeeding, and apps that did hang were too big and thready to pin down. |
@therealkenc By attaching strace to some of the Java processes I got by running javac on a hello world class, I got the following info, all of them running in endless loops: --- SIGSEGV {si_signo=SIGSEGV, si_code=SI_KERNEL, si_addr=0x8} --- sched_yield() = 0 futex(0x7f4b640b9b28, FUTEX_WAKE_PRIVATE, 1) = 0 |
Linux allows signal handlers to modify register values in the context structure passed to signal handlers and these modified values are used when restoring the context in sigreturn. The change we did addressed a bug in our implementation. This is used by Java's signal handler to translate exception signals into Java exceptions. |
@tady159 - yeah of course, watching @dethoma - thanks! I had a suspicion it was |
Gotta wonder why |
naturally, I couldn't get oracle jdk to run as well |
anybody tried Java/JDK 8 on build 14901? Is it OK? |
Awesome! However... do I really need to install an Insider Preview just to get these bug fixes? Is there any other way? |
Fast ring 14901 came through last night. Glad to say installation of Oracle JDK 8 from ppa, scala, and sbt worked. sbt compile, run, etc. works. I also symlinked .ivy2/cache to the one on windows. That worked too. This is most excellent :) |
Glad things are working for you! As I mentioned in the other thread I'm trying to get this fix pulled into Anniversary Update. |
@benhillis is there anything that we (the users) can do (like draw attention) to get this fix back-ported in an upcoming cumulative update? |
@MattBDev You've already helped draw attention. When justifying the servicing request we pointed to this thread and others on GitHub as evidence of the value of this fix. @SRGOM If the servicing folks decide to take this fix we will certainly let our users know. If you're waiting on inotify one of our developers is wrapping that up right now and that should be available on an Insider build fairly soon. |
me too. |
@SRGOM I would be 100% happy to share, but it wouldn't work. Your NT kernel will reject it. Unfortunately it isn't like me sharing a third party (say NVIDIA) driver with you. It wasn't until I read these slides that understood the disconnect. I could share my whole Windows\system32 directory of course, but then you can get that from the fast ring. Hence the dilemma. If it were possible to distribute lxcore/lxss in isolation, Ben would have done that already, just like the VS Code guys push out releases nightly. |
Cool hack, but sorry my knowledge of how MS signs core drivers ends here. If I had to guess (pulling the guess completely out of my ass) the core drivers are signed with a key specific to the build - the certs being what they are as a separate matter. We're way off topic for a Java fixinbound, but in another thread on another day I'd like to hear why the meat of WSL can't be done as a Third Party driver decoupled from Windows releases. I know the pico process can't be done that way (by fiat), but much (most?) of WSL's functionality is going to look exactly like Cygwin under the hood and there isn't any technical reason I can see why the pico process can't call out to do that work. |
Hi, is java multithreading supported? I tried use the Thread class to create a number of threads to do some experiment on concurrency bugs, but it seems there is only one thread be created. |
A fatal error has been detected by the Java Runtime Environment:
Internal Error (safepoint.cpp:325), pid=6312, tid=140008804779776
guarantee(PageArmed == 0) failed: invariant
JRE version: OpenJDK Runtime Environment (7.0_101) (build 1.7.0_101-b00)
Java VM: OpenJDK 64-bit Server VM (24.95-b01 mixed mode linuxe-ambd64 compressed oops)
Derivative: IcedTea 2.6.6
Distribution: Ubuntu 14.04 LTS, package 7u101-2.6.6-0ubuntu0.14.04.1
I'm also attaching the error report filed generated.
hs_err_pid6312.log.txt
The text was updated successfully, but these errors were encountered: