Still have java.lang.StackOverflowError

265 views
Skip to first unread message

Sven Strittmatter

unread,
Jun 25, 2011, 5:40:42 AM6/25/11
to Jenkins Users
Hello *,

some weeks ago I complained here on list that I upgraded Jenkins via
apt-get upgrade and after that the service didn't start well: Each HTTP
request results in Status Code: 500 java.lang.StackOverflowError.

Other people also complained here on list about similar Problems. The
most solutions were: Give Jenkins more memory. How to achieve that on a
Debian machine, where it is installed by apt-get? There is no obvious
location where I can put these -X flags.

Now my Jenkins does not work since three weeks and I'm really not amused
about the fact that I simply do an apt-get upgrade and my whole CI
infrastructure is defect and I can't fix it. On my private machine
bearable. But I'm really really scared to issue an Jenkins update to the
sysadmins at work! That's not good that a tool for QA shows that bad QA
itself.

So please can someone give me a hint for a non Java-Professional how to
fix that problem give my Jenkins more memory?

Regards
Sven

--
"Ich habe vom Glauben zum Wissen konvertiert." (Abdel-Samad)

Richard Mortimer

unread,
Jun 25, 2011, 6:14:53 AM6/25/11
to jenkins...@googlegroups.com

On 25/06/2011 10:40, Sven Strittmatter wrote:
> Hello *,
>
> some weeks ago I complained here on list that I upgraded Jenkins via
> apt-get upgrade and after that the service didn't start well: Each HTTP
> request results in Status Code: 500 java.lang.StackOverflowError.
>
> Other people also complained here on list about similar Problems. The
> most solutions were: Give Jenkins more memory. How to achieve that on a
> Debian machine, where it is installed by apt-get? There is no obvious
> location where I can put these -X flags.

YOu can set these in /etc/default/jenkins
Remove the # from before JAVA_ARGS and put the settings in there that
you need. Then you need to restart jenkins

sudo /etc/init.d/jenkins stop
sudo /etc/init.d/jenkins start

>
> Now my Jenkins does not work since three weeks and I'm really not amused
> about the fact that I simply do an apt-get upgrade and my whole CI
> infrastructure is defect and I can't fix it. On my private machine
> bearable. But I'm really really scared to issue an Jenkins update to the
> sysadmins at work! That's not good that a tool for QA shows that bad QA
> itself.
>
> So please can someone give me a hint for a non Java-Professional how to
> fix that problem give my Jenkins more memory?
>

If that does not fix the problem I suggest you post again with the full
stacktrace that you get. Hopefully someone will be able to help then. I
would also suggest that before you do that you try another apt-get
upgrade to get to the latest version. The problem may have been fixed in
the meantime.

Regards

Richard


> Regards
> Sven
>

Didier Durand

unread,
Jun 25, 2011, 6:24:03 AM6/25/11
to Jenkins Users
Hi Sven,

Yes, as richard says, please post full dump of the exception so that
we can help diagnose: stackoverflow is very often the result of an
infinite loop, seeing the stack will help.

regards

didier

Simon Wiest

unread,
Jun 25, 2011, 6:34:48 AM6/25/11
to jenkins...@googlegroups.com
Hi Sven,

your problem can be still seen at http://www.weltraumschaf.de:8080/,
right (I've pasted the head of the trace at the bottom of this mail for
convenience)?

What versions of Jenkins and the Clover plugin are you using (this helps
aligning line numbers in the strack trace with the corresponding
statements in the source code files)?

Cheers,
Simon.
--
Didier Durand (25.06.2011 12:24):

--
java.lang.StackOverflowError
at java.io.UnixFileSystem.getBooleanAttributes0(Native Method)
at java.io.UnixFileSystem.getBooleanAttributes(UnixFileSystem.java:228)
at java.io.File.exists(File.java:733)
at sun.misc.URLClassPath$FileLoader.getResource(URLClassPath.java:999)
at sun.misc.URLClassPath.getResource(URLClassPath.java:169)
at java.net.URLClassLoader$1.run(URLClassLoader.java:194)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at
winstone.classLoader.WebappClassLoader.loadClass(WebappClassLoader.java:68)
at java.lang.ClassLoader.loadClass(ClassLoader.java:296)
at java.lang.ClassLoader.loadClass(ClassLoader.java:296)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at hudson.PluginManager$UberClassLoader.findClass(PluginManager.java:650)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at net.java.sezpoz.IndexItem.element(IndexItem.java:134)
at hudson.ExtensionFinder$Sezpoz.scout(ExtensionFinder.java:204)
at
hudson.ClassicPluginStrategy.findComponents(ClassicPluginStrategy.java:277)
at hudson.ExtensionList.load(ExtensionList.java:258)
at hudson.ExtensionList.ensureLoaded(ExtensionList.java:229)
at hudson.ExtensionList.iterator(ExtensionList.java:136)
at jenkins.model.Jenkins.getDescriptorByType(Jenkins.java:983)
at hudson.tasks.Mailer.descriptor(Mailer.java:143)
at jenkins.model.Jenkins.getRootUrl(Jenkins.java:1651)
at
hudson.plugins.clover.CloverBuildWrapper$DescriptorImpl.getDisplayName(CloverBuildWrapper.java:122)
at hudson.ExtensionComponent.compareTo(ExtensionComponent.java:80)
at hudson.ExtensionComponent.compareTo(ExtensionComponent.java:36)
at java.util.Arrays.mergeSort(Arrays.java:1144)
at java.util.Arrays.mergeSort(Arrays.java:1155)
at java.util.Arrays.mergeSort(Arrays.java:1156)
at java.util.Arrays.mergeSort(Arrays.java:1155)
at java.util.Arrays.mergeSort(Arrays.java:1156)
at java.util.Arrays.mergeSort(Arrays.java:1156)
at java.util.Arrays.sort(Arrays.java:1079)
at java.util.Collections.sort(Collections.java:117)
at hudson.ExtensionList.sort(ExtensionList.java:270)
at hudson.ExtensionList.ensureLoaded(ExtensionList.java:231)
at hudson.ExtensionList.iterator(ExtensionList.java:136)
at jenkins.model.Jenkins.getDescriptorByType(Jenkins.java:983)
at hudson.tasks.Mailer.descriptor(Mailer.java:143)
at jenkins.model.Jenkins.getRootUrl(Jenkins.java:1651)
at
hudson.plugins.clover.CloverBuildWrapper$DescriptorImpl.getDisplayName(CloverBuildWrapper.java:122)
at hudson.ExtensionComponent.compareTo(ExtensionComponent.java:80)
at hudson.ExtensionComponent.compareTo(ExtensionComponent.java:36)
at java.util.Arrays.mergeSort(Arrays.java:1144)
at java.util.Arrays.mergeSort(Arrays.java:1155)
at java.util.Arrays.mergeSort(Arrays.java:1156)
at java.util.Arrays.mergeSort(Arrays.java:1155)
at java.util.Arrays.mergeSort(Arrays.java:1156)
at java.util.Arrays.mergeSort(Arrays.java:1156)
at java.util.Arrays.sort(Arrays.java:1079)
at java.util.Collections.sort(Collections.java:117)
at hudson.ExtensionList.sort(ExtensionList.java:270)
at hudson.ExtensionList.ensureLoaded(ExtensionList.java:231)
at hudson.ExtensionList.iterator(ExtensionList.java:136)
at jenkins.model.Jenkins.getDescriptorByType(Jenkins.java:983)
at hudson.tasks.Mailer.descriptor(Mailer.java:143)
at jenkins.model.Jenkins.getRootUrl(Jenkins.java:1651)
at
hudson.plugins.clover.CloverBuildWrapper$DescriptorImpl.getDisplayName(CloverBuildWrapper.java:122)
at hudson.ExtensionComponent.compareTo(ExtensionComponent.java:80)
at hudson.ExtensionComponent.compareTo(ExtensionComponent.java:36)
at java.util.Arrays.mergeSort(Arrays.java:1144)
at java.util.Arrays.mergeSort(Arrays.java:1155)
at java.util.Arrays.mergeSort(Arrays.java:1156)
at java.util.Arrays.mergeSort(Arrays.java:1155)
at java.util.Arrays.mergeSort(Arrays.java:1156)
at java.util.Arrays.mergeSort(Arrays.java:1156)
at java.util.Arrays.sort(Arrays.java:1079)
at java.util.Collections.sort(Collections.java:117)
at hudson.ExtensionList.sort(ExtensionList.java:270)
at hudson.ExtensionList.ensureLoaded(ExtensionList.java:231)
at hudson.ExtensionList.iterator(ExtensionList.java:136)
at jenkins.model.Jenkins.getDescriptorByType(Jenkins.java:983)
at hudson.tasks.Mailer.descriptor(Mailer.java:143)
at jenkins.model.Jenkins.getRootUrl(Jenkins.java:1651)
at
hudson.plugins.clover.CloverBuildWrapper$DescriptorImpl.getDisplayName(CloverBuildWrapper.java:122)
at hudson.ExtensionComponent.compareTo(ExtensionComponent.java:80)
at hudson.ExtensionComponent.compareTo(ExtensionComponent.java:36)
at java.util.Arrays.mergeSort(Arrays.java:1144)
at java.util.Arrays.mergeSort(Arrays.java:1155)
at java.util.Arrays.mergeSort(Arrays.java:1156)
at java.util.Arrays.mergeSort(Arrays.java:1155)
at java.util.Arrays.mergeSort(Arrays.java:1156)
at java.util.Arrays.mergeSort(Arrays.java:1156)
at java.util.Arrays.sort(Arrays.java:1079)
at java.util.Collections.sort(Collections.java:117)
at hudson.ExtensionList.sort(ExtensionList.java:270)
at hudson.ExtensionList.ensureLoaded(ExtensionList.java:231)
at hudson.ExtensionList.iterator(ExtensionList.java:136)
at jenkins.model.Jenkins.getDescriptorByType(Jenkins.java:983)
at hudson.tasks.Mailer.descriptor(Mailer.java:143)
at jenkins.model.Jenkins.getRootUrl(Jenkins.java:1651)
at
hudson.plugins.clover.CloverBuildWrapper$DescriptorImpl.getDisplayName(CloverBuildWrapper.java:122)
at hudson.ExtensionComponent.compareTo(ExtensionComponent.java:80)
at hudson.ExtensionComponent.compareTo(ExtensionComponent.java:36)
[...]

Simon Wiest

unread,
Jun 25, 2011, 7:13:55 AM6/25/11
to jenkins...@googlegroups.com
Hi Sven,

if you are using the Clover plugin in a version below 4.0.1, you could
try to upgrade to version 4.0.1 (of May 7, 2011) or above.

There has been a code change in one of the methods that is listed in
your stack trace over and over (see diff at the end of mail; just listed
for reference here).

Does this help?

Cheers,
Simon.

--
commit d6516a139c783a59e3517969a0f7f98afbf79ff4
Author: Seiji Sogabe <s.so...@gmail.com> 2011-05-07 18:05:31
Committer: Seiji Sogabe <s.so...@gmail.com> 2011-05-07 18:05:31
Parent: 7444b1ccdeebc797debfa6a44e3fcbad9c5bcd15 (fixed compilation error.)
Child: 40cb31af54211e810715e121320ad526857be437 ([maven-release-plugin]
prepare release clover-4.0.1)
Branches: origin/master, origin/HEAD, master

removed ununsed code.

--------- src/main/java/hudson/plugins/clover/CloverBuildWrapper.java
---------
diff --git a/src/main/java/hudson/plugins/clover/CloverBuildWrapper.java
b/src/main/java/hudson/plugins/clover/CloverBuildWrapper.java
index 2f5f4fa..65858f2 100644
--- a/src/main/java/hudson/plugins/clover/CloverBuildWrapper.java
+++ b/src/main/java/hudson/plugins/clover/CloverBuildWrapper.java
@@ -119,7 +119,6 @@
* This human readable name is used in the configuration screen.
*/
public String getDisplayName() {
- String rootURL = Hudson.getInstance().getRootUrl();
return Messages.CloverBuildWrapper_DisplayName();
}


---
Sven Strittmatter (25.06.2011 11:40):

Richard Mortimer

unread,
Jun 25, 2011, 7:18:22 AM6/25/11
to jenkins...@googlegroups.com
Ah. It could be the same issue as
https://issues.jenkins-ci.org/browse/JENKINS-9718
That was marked as resolved a few weeks ago.

You might be able to fix things by stopping jenkins, disabling the
clover plugin manually and then restarting jenkins.

sudo /etc/init.d/jenkins stop
sudo touch /var/lib/jenkins/plugins/clover.hpi.disabled
sudo chown jenkins:nogroup /var/lib/jenkins/plugins/clover.hpi.disabled
sudo /etc/init.d/jenkins start

Once you have things working again then go into "Manage Jenkins" and
update the clover plugin and re-enable it.

Regards

Richard

Sven Strittmatter

unread,
Jun 27, 2011, 4:52:28 AM6/27/11
to jenkins...@googlegroups.com
Hi Richard,

Am 25.06.11 12:14, schrieb Richard Mortimer:


> YOu can set these in /etc/default/jenkins
> Remove the # from before JAVA_ARGS and put the settings in there that

Thank you very much, that was the answer I searched for :)

-Sven

Sven Strittmatter

unread,
Jun 28, 2011, 11:55:40 AM6/28/11
to jenkins...@googlegroups.com
Hi Richard,

Am 25.06.11 13:18, schrieb Richard Mortimer:

> sudo /etc/init.d/jenkins stop
> sudo touch /var/lib/jenkins/plugins/clover.hpi.disabled
> sudo chown jenkins:nogroup /var/lib/jenkins/plugins/clover.hpi.disabled
> sudo /etc/init.d/jenkins start
>
> Once you have things working again then go into "Manage Jenkins" and
> update the clover plugin and re-enable it.

Thank you very much. That solved my problem and my Jenkins is up and
running :)

-Sven

Richard Mortimer

unread,
Jun 28, 2011, 12:19:58 PM6/28/11
to jenkins...@googlegroups.com

Your welcome. I'm glad that you are now up and running.

Regards

Richard

Reply all
Reply to author
Forward
0 new messages