Bug #3391

Mis à jour par Matthieu Decorde il y a plus de 2 ans

Impossible to do an update:

* @Impossible de mettre à jour TXM : java.lang.NullPointerException: Cannot invoke "org.eclipse.swt.widgets.Shell.getDisplay()" because the return value of "org.eclipse.equinox.internal.p2.ui.sdk.PreloadingRepositoryHandler.getShell()" is null@

h3. Solution


The bug is not systematic -> we need to find when "org.eclipse.equinox.internal.p2.ui.sdk.PreloadingRepositoryHandler.getShell()" is null

Also log system broken:

* @SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".@

Full console content:

<pre>
Démarrage de TXM 0.8.3 (2023-05-11 14h24)…
TXM is running in test mode. This mode is not intendend to be used to work.
Looking for TXM updates...
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
** Impossible de mettre à jour TXM : java.lang.NullPointerException: Cannot invoke "org.eclipse.swt.widgets.Shell.getDisplay()" because the return value of "org.eclipse.equinox.internal.p2.ui.sdk.PreloadingRepositoryHandler.getShell()" is null
Stacktrace:
[1] org.txm.rcp.p2.plugins.TXMUpdateHandler. execute TXMUpdateHandler.java, 154
[2] org.txm.rcp.Application.startDesktop Application.java, 278
[3] org.txm.rcp.Application. start Application.java, 123
</pre>

h3. Solution

The slf4j.api is looking for an implementation of org.slf4j.impl.StaticLoggerBinder and :

* does not find one
* OR failed to instanciate it

Adding one of the StaticLoggerBinder implementation jar to the "org.txm.rcp" libs does not fix the problem: slf4j-nop.jar slf4j-simple.jar, slf4j-log4j12.jar, slf4j-jdk14.jar or logback-classic.jar

Adding the org.slf4j.api to the dependant plugins of org.rxm.rcp does not fix the problem.

Retour