Debugging a safepoint error - do you need theoretical or practical debugging for JVM crashes?

We have a surprisingly elusive jvm crash that occurs on a Ubuntu server that runs on AWS.

  • Our JVM crashes when crawling multiple web pages.

  • The failure occurs on line 308 of the "safepoint" cpp module. At the stage where the instruction gauranteeArmed == 0 is executed.

  • Our system administrator reported that during the crash there are a huge number of threads created by the JVM.

  • We did not reproduce this error in other sections of Linux or OSX.

  • We use the Ning library to scan multiple Web pages.

Related Posts

In each of these messages, there was a crash of "safepoint" that occurs from "nowhere." Most interestingly, the first message above actually demonstrates the collapse of the JVM during network-related events.

The mysterious nature of this error leads me to believe that there is an error related to thread creation and scheduling that is specific to our current version of Ubuntu regarding how java calls some of its concurrency functions, or some underlying library incompatibility, which is very specific for our specific situation.

My question (s)

My main question here is what is the best method for debugging a JVM stack trace involving these "safepoints", and where can I start to study problems with such errors? There were other questions on this line, but I did not see a general answer.

A secondary, any understanding of aws, java, networking and how Ubuntu can behave differently in the cloud would be helpful here.

+4
source share
1 answer

Try using the latest version of the JVM (6u32 or 7u4) and make sure it is still playable. If you are using an older version, then at least a good chance that it has already been fixed in the latest version.

0
source

Source: https://habr.com/ru/post/1416274/


All Articles