Project

General

Profile

Actions

Bug #14281

closed

Manage rudder webapp shutdown correctly in case of fatal exception at startup

Added by Félix DALLIDET about 5 years ago. Updated almost 2 years ago.

Status:
Released
Priority:
N/A
Category:
System integration
Target version:
Severity:
Major - prevents use of part of Rudder | no simple workaround
UX impact:
User visibility:
Operational - other Techniques | Rudder settings | Plugins
Effort required:
Priority:
73
Name check:
Fix check:
Regression:

Description

Example of an error that we would like to catch:
Error at rudder restart liftActor:NoClassDefFoundError

Exception in thread "pool-7-thread-7" java.lang.NoClassDefFoundError: net/liftweb/actor/ActorLogger$
  at net.liftweb.actor.SpecializedLiftActor$$anonfun$exceptionHandler$1.applyOrElse(LiftActor.scala:345)
  at net.liftweb.actor.SpecializedLiftActor$$anonfun$exceptionHandler$1.applyOrElse(LiftActor.scala:344)
  at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:34)
  at net.liftweb.actor.SpecializedLiftActor.proc2(LiftActor.scala:324)
  at net.liftweb.actor.SpecializedLiftActor.$anonfun$processMailbox$1(LiftActor.scala:226)
  at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12)
  at net.liftweb.actor.SpecializedLiftActor.around(LiftActor.scala:240)
  at net.liftweb.actor.SpecializedLiftActor.around$(LiftActor.scala:239)
  at com.normation.rudder.batch.AutomaticReportsCleaning$LADatabaseCleaner.around(AutomaticReportsCleaner.scala:311)
  at net.liftweb.actor.SpecializedLiftActor.processMailbox(LiftActor.scala:226)
  at net.liftweb.actor.SpecializedLiftActor.$anonfun$$bang$3(LiftActor.scala:189)
  at net.liftweb.actor.LAScheduler$$anon$2$$anon$3.run(LiftActor.scala:76)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
  at java.lang.Thread.run(Thread.java:748)

This happens when old classes are not cleanly unloaded, most likely because jetty didn't stop correctly.

WORKAROUND: stop rudder-jetty ; check that jetty is stopped ; start rudder-jetty

Other example include "java.lang.OutOfMemoryError", "java.lang.StackOverflowError", ... In fact I think all java.errors.


Files

2019_03_30.stderrout.log.132711187 (40.4 KB) 2019_03_30.stderrout.log.132711187 François ARMAND, 2019-03-30 14:45

Subtasks 1 (0 open1 closed)

Bug #14568: Exception at Rudder start: com.typesafe.config.ConfigException$Missing: No configuration setting found for key 'rudder.jvm'ReleasedNicolas CHARLESActions

Related issues 1 (0 open1 closed)

Related to Rudder - Bug #2843: Rudder can fail to generate promises when Java is lacking memoryRejectedActions
Actions

Also available in: Atom PDF