Ticket #693 (closed Defect: fixed)

Opened 5 years ago

Last modified 5 years ago

Core: error handling while plugin start

Reported by: jri Owned by: jri
Priority: Major Milestone: Release 4.4
Component: DeepaMehta Standard Distribution Version: 4.3
Keywords: Cc: dgf, Malte, carolina
Complexity: 3 Area:
Module: deepamehta-core

Description

When an error occurs very early in the plugin's starting phase that error is not logged and the plugin is retried to start endlessly (once per second). In particular this happens when an error occurs while reading the plugin.properties config file.

Change History

comment:1 Changed 5 years ago by jri

  • Status changed from new to accepted

comment:2 Changed 5 years ago by Jörg Richter

Core: error handling while plugin start (#693).

When an error occurs very early in the plugin's starting phase (e.g. while reading the plugin.properties file) that error is logged and the plugin is not retried to start endlessly.

See #693.

comment:3 Changed 5 years ago by jri

  • Status changed from accepted to closed
  • Resolution set to fixed

comment:4 Changed 5 years ago by Jörg Richter

Core: error handling while plugin start (#693).

When an error occurs very early in the plugin's starting phase (e.g. while reading the plugin.properties file) that error is logged and the plugin is not retried to start endlessly.

See #693.

comment:5 Changed 5 years ago by jri

  • Status changed from closed to reopened
  • Resolution fixed deleted

There is yet another error handling problem: when actually an Error like NoClassDefFoundError (that is not an Exception) occurs while plugin startup that error might still be thrown through the OSGi container causing the known problem: that error is not logged and the plugin is retried to start endlessly.

So we must catch Throwable (instead of Exception) in all methods invoked by the OSGi container.

comment:6 Changed 5 years ago by Jörg Richter

  • Status changed from reopened to closed
  • Resolution set to fixed

Core: fix plugin start error handling (#693).

Errors like NoClassDefFoundError are not thrown through the OSGi container.
The phenomenon of "swallowed" exceptions and endlessly retried plugin starts is eliminated once and for all!!

Close #693.

comment:7 Changed 5 years ago by jri

  • Status changed from closed to reopened
  • Resolution fixed deleted

Though not related to plugin start but related to error handling: when an error occurs while event handling, in particular an error caused by an outdated plugin (not yet adapted to Core API changes) like NoSuchMethodError or AbstractMethodError the log is not very telling. The log should be more informative in that case.

comment:8 Changed 5 years ago by Jörg Richter

  • Status changed from reopened to closed
  • Resolution set to fixed

More telling log in case of updated plugin (#693).

When an error occurs while event handling, in particular an error caused by an outdated plugin (not yet adapted to Core API changes) like NoSuchMethodError or AbstractMethodError the log is more informative in that case.

Close #693.

comment:9 Changed 5 years ago by Jörg Richter

Core: fix plugin start error handling (#693).

Errors like NoClassDefFoundError are not thrown through the OSGi container.
The phenomenon of "swallowed" exceptions and endlessly retried plugin starts is eliminated once and for all!!

Close #693.

comment:10 Changed 5 years ago by Jörg Richter

More telling log in case of updated plugin (#693).

When an error occurs while event handling, in particular an error caused by an outdated plugin (not yet adapted to Core API changes) like NoSuchMethodError or AbstractMethodError the log is more informative in that case.

Close #693.

Note: See TracTickets for help on using tickets.