Ich habe versucht Fakturama (ver. 2.0.2.1) unter arch-linux zum Laufen zu bekommen.
Das ist auch an sich kein Problem, aber wenn ich das Programm schließe, bleibt der Prozess weiterhin im Hintergrund bestehen. Folgendes meldet mir das Terminal, in dem ich Fakturama gestartet habe, sobald ich auf Datei --> Fakturama beenden gehe:
04:49:02.832 [com.sebulli.fakturama.log.LogbackAdapter@7f7b6639] DEBUG com.sebulli.fakturama.common - Storing preferences in database Juli 24, 2018 4:49:03 VORM. org.hsqldb.persist.Logger logInfoEvent INFORMATION: Database closed Juli 24, 2018 4:49:03 VORM. org.hsqldb.persist.Logger logInfoEvent INFORMATION: open start - state not modified Juli 24, 2018 4:49:03 VORM. org.hsqldb.persist.Logger logInfoEvent INFORMATION: Database closed [Server@63f9b562]: Initiating shutdown sequence... [Server@63f9b562]: Shutdown sequence completed in 0 ms. [Server@63f9b562]: 2018-07-24 04:49:03.471 SHUTDOWN : System.exit() was not called 04:49:03.487 [com.sebulli.fakturama.log.LogbackAdapter@7f7b6639] DEBUG com.sebulli.fakturama.common - save dialog settings
(Der Prozess bleibt bestehen, das Terminal kehr nicht zur Eingabeaufforderung zurück, das Fakturama-GUI-Window verschwindet aber und schließt sich.)
Versuche ich jetzt Fakturama erneut zu öffnen bekomme ich folgenden Fehler in der Instanz:
WARNING: Using incubator modules: jdk.incubator.httpclient WARNING: Extender - Refreshing disabled - entities in bundle com.sebulli.fakturama.model may not be woven [Server@63f9b562]: Initiating startup sequence... [Server@63f9b562]: [Thread[HSQLDB Server @63f9b562,5,main]]: run()/openServerSocket(): java.net.BindException: Die Adresse wird bereits verwendet (Bind failed) at java.base/java.net.PlainSocketImpl.socketBind(Native Method) at java.base/java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:437) at java.base/java.net.ServerSocket.bind(ServerSocket.java:381) at java.base/java.net.ServerSocket.(ServerSocket.java:243) at java.base/java.net.ServerSocket.(ServerSocket.java:135) at org.hsqldb.server.HsqlSocketFactory.createServerSocket(Unknown Source) at org.hsqldb.server.Server.openServerSocket(Unknown Source) at org.hsqldb.server.Server.run(Unknown Source) at org.hsqldb.server.Server.access$000(Unknown Source) at org.hsqldb.server.Server$ServerThread.run(Unknown Source) [Server@63f9b562]: Initiating shutdown sequence... [Server@63f9b562]: Shutdown sequence completed in 2 ms. [Server@63f9b562]: 2018-07-24 04:49:54.516 SHUTDOWN : System.exit() was not called java.lang.NullPointerException at java.base/java.util.concurrent.ConcurrentHashMap.putVal(ConcurrentHashMap.java:1021) at java.base/java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:1016) at java.base/java.util.Properties.put(Properties.java:1309) at com.sebulli.fakturama.hsqlconnector.HsqlConnectionProvider.activateServer(HsqlConnectionProvider.java:73) at com.sebulli.fakturama.dbservice.impl.DbUpdateService.openConnection(DbUpdateService.java:136) at com.sebulli.fakturama.dbservice.impl.DbUpdateService.updateDatabase(DbUpdateService.java:69) at com.sebulli.fakturama.LifecycleManager.checksBeforeStartup(LifecycleManager.java:156) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:564) at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:55) at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:305) at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:233) at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:107) at org.eclipse.e4.ui.internal.workbench.swt.E4Application.lambda$0(E4Application.java:239) at java.base/java.util.Optional.ifPresent(Optional.java:172) at org.eclipse.e4.ui.internal.workbench.swt.E4Application.createE4Workbench(E4Application.java:235) at org.eclipse.e4.ui.internal.workbench.swt.E4Application.start(E4Application.java:149) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:564) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:653) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:590) at org.eclipse.equinox.launcher.Main.run(Main.java:1499) at org.eclipse.equinox.launcher.Main.main(Main.java:1472) 04:49:54.612 [com.sebulli.fakturama.log.LogbackAdapter@7f7b6639] ERROR com.sebulli.fakturama.common - Can't show the error message in Error View because no EventBroker is available! 04:49:54.615 [com.sebulli.fakturama.log.LogbackAdapter@7f7b6639] ERROR com.sebulli.fakturama.common - couldn't create or update database!
Was ja auch nicht weiter verwunderlich ist, da die alte Instanz ja noch läuft.
Sende ich ein SIGTERM an den alten Prozess (was ihn eigentlich nur höflich bittet, sich zu beednen), beendet sich das Programm aber ganz brav und ich kann es danach wieder öffnen.
Das logfile sagt (für die zweite Instanz, die sich nicht öffnen lässt):
!SESSION 2018-07-24 04:51:14.870 ----------------------------------------------- eclipse.buildId=2.0.2.1 java.version=10.0.1 java.vendor=Oracle Corporation BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=de_DE Command-line arguments: -os linux -ws gtk -arch x86_64 !ENTRY com.sebulli.fakturama.common 4 0 2018-07-24 04:51:17.808 !MESSAGE couldn't create or update database!
Habe es mit java 8 und java 10 probiert, aber das macht keinen Unterschied. Das Programm läuft mit beiden Versionen bei mir. Ich nutze XFCE als Desktop-Umgebung.,
Hat jemand ein ähnliches Problem und kann mir helfen?
Viele Grüße
Esentian
Habe es eben auch nochmal mit einer frischen Arch-Installation und mit Gnome statt xfce versucht:
Gleiches Problem!
Hallo Esentian,
genaugenommen laufen zwei Prozesse - einmal der GUI-Prozeß, den man sieht (das Ding mit dem Fenster). Parallel dazu wid aber (in der Standardinstallation) noch ein HSQL-Server gestartet, weil das sonst noch langsamer wäre. Dieser Prozeß scheint nicht korrekt beendet zu werden (obwohl ich dem beim Programmende sage, daß der runterfahren soll). SIGTERM ist ja an dieser Stelle auch keine Dauerlösung.
Ich habe noch einen anderen User mit einem ähnlichen Problem (da geht Fakturama aber gleich gar nicht zu starten), auch unter Linux. Ich muß mir das wirklich mal selber anschauen. Ich hab da verschiedene VMs am laufen.
Viele Grüße,
Ralf.
Wichtige Infos zum Posten im Forum.
Fehler gefunden?
Hallo rheydenr,
ich kann nicht erkennen, dass irgendein Prozess beendet wird (beim Schließen des Fensters).
Während Fakturama läuft:
$> pgrep -f Fakturama -a 17987 /usr/share/fakturama2/Fakturama 18022 /usr/bin/java -DREFRESH_BUNDLES=false -Dorg.eclipse.e4.ui.css.dynamic=true --add-modules=ALL-SYSTEM -jar /usr/share/fakturama2//plugins/org.eclipse.equinox.launcher_1.4.0.v20161219-1356.jar -os linux -ws gtk -arch x86_64 -showsplash -launcher /usr/share/fakturama2/Fakturama -name Fakturama --launcher.library /usr/share/fakturama2//plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.551.v20171108-1834/eclipse_1630.so -startup /usr/share/fakturama2//plugins/org.eclipse.equinox.launcher_1.4.0.v20161219-1356.jar --launcher.overrideVmargs -exitdata 214801e -vm /usr/bin/java -vmargs -DREFRESH_BUNDLES=false -Dorg.eclipse.e4.ui.css.dynamic=true --add-modules=ALL-SYSTEM -jar /usr/share/fakturama2//plugins/org.eclipse.equinox.launcher_1.4.0.v20161219-1356.jar
Nach Schließen des Fensters:
$> pgrep -f Fakturama -a 17987 /usr/share/fakturama2/Fakturama 18022 /usr/bin/java -DREFRESH_BUNDLES=false -Dorg.eclipse.e4.ui.css.dynamic=true --add-modules=ALL-SYSTEM -jar /usr/share/fakturama2//plugins/org.eclipse.equinox.launcher_1.4.0.v20161219-1356.jar -os linux -ws gtk -arch x86_64 -showsplash -launcher /usr/share/fakturama2/Fakturama -name Fakturama --launcher.library /usr/share/fakturama2//plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.551.v20171108-1834/eclipse_1630.so -startup /usr/share/fakturama2//plugins/org.eclipse.equinox.launcher_1.4.0.v20161219-1356.jar --launcher.overrideVmargs -exitdata 214801e -vm /usr/bin/java -vmargs -DREFRESH_BUNDLES=false -Dorg.eclipse.e4.ui.css.dynamic=true --add-modules=ALL-SYSTEM -jar /usr/share/fakturama2//plugins/org.eclipse.equinox.launcher_1.4.0.v20161219-1356.jar
Wenn ich irgendwie unterstützen kann, sag Bescheid. Den Source-Code habe ich nicht auf die Schnelle zum Laufen bekommen leider.
Viele Grüße
Esentian
Hallo zusammen,
ich habe mir das Problem jetzt mal direkt unter Xubuntu angesehen und konnte es auch nachstellen, allerdings nur außerhalb meiner Entwicklungsumgebung. Ich habe aktuell noch keine richtige Erklärung dafür. Bei mir hat aber zumindest die Umgehungslösung funktioniert, Fakturama direkt von einem Terminal aus zu starten. Nach dem Beenden der Oberfläche "hängt" der Prozeß noch. Den kann man dann mit CTRL-C abbrechen (und dann nochmal ENTER drücken, damit der Prompt wieder erscheint). Damit konnte ich zumindest mehrmals problemlos starten und die Daten wurden auch ordentlich gespeichert. Ich muß erst mal herausfinden, was hier wirklich hängt (ob das die Datenbank ist oder irgendwas anderes). Melde mich.
Viele Grüße,
Ralf.
Wichtige Infos zum Posten im Forum.
Fehler gefunden?
Hallo rheydenr,
vielen Dank für Deine Mühen!
Man kann den Prozess auch über
pkill -SIGTERM -f Fakturama
beenden, wenn man es nicht vorher über das Terminal gestartet hat.
Das ist das "gleiche" wie ctrl+c. Das OS sendet ein Signal an das Programm und teilt ihm mit, dass es sich bitte beenden möge. Und Fakturama beendet sich dann brav. Würde sich Fakturama nicht selbst beenden, würde das OS es nicht killen (bei SIGTERM).
Viele Grüße
Esentian
Hallo Esentian,
ich habe mal eine neue Beta-Version zusammengeschraubt, in der ich das Problem glaube behoben zu haben. Jedenfalls ist der Fehler hier nicht mehr aufgetreten. Offenbar handelt es sich um ein Problem, was auch nur unter Linux auftritt 🙁
Das Beta-Archiv befindet sich hier. Bitte irgendwo entpacken und starten.
Viele Grüße,
Ralf.
Wichtige Infos zum Posten im Forum.
Fehler gefunden?
Hallo rheydenr,
mit der 2.0.3 Beta tritt das Problem bei mir auch nicht mehr auf!
Viele Grüße
Esentian
cool. Dann werde ich das mal als Fehlerbehebung einbauen. Danke für die Rückmeldung.
Viele Grüße,
Ralf.
Wichtige Infos zum Posten im Forum.
Fehler gefunden?
Hallo, gibt es evtl. eine weitere Beta Version?
MfG
buchhalterfa
Hallo rheydenr,
ich habe gerade mein Fakturama auf 2.0.3 upgedated und der oben beschriebene Fehler tritt leider immernoch auf, obwohl er in der 2.0.3-Beta von oben verschwunden war.
Eventuell hat es der Fix nicht in die Version geschafft?
Gibt es eine Mailinglist / Newsletter, wo man benachrichtigt wird, wenn es eine neue Version gibt? Ich pflege das Community-Package von fakturama für arch-linux (Siehe hier) und da wäre es super, wenn man nicht ständig auf die Seite hier schauen müsste, ob es eine neue Version gibt, sondern man eine Benachrichtigung bekommt, damit man die neue Version auch dort veröffentlichen kann.
Viele Grüße
Esentian
Der Fehler tritt bei mir auch auf.
Hm. Muß ich nochmal nachsehen. Ich hatte den Code schon soweit übernommen, dachte ich jedenfalls.
Apropos Updates: Ich versuche, mich an die Roadmap im Bugtracker zu halten, das gelingt aber nicht immer. Also evtl. mal so um die angegebenen Daten herum mal nachsehen. Mailingliste (für Entwickler) gibt's nicht, nur den normalen Newsletter. Da muß aber erst noch was repariert werden, der geht derzeit nicht.
Viele Grüße,
Ralf.
Wichtige Infos zum Posten im Forum.
Fehler gefunden?
Hi, gibt es einen Workaround?
Hallo rheydnr,
vielen Dank für die Info! Wenn ich behilflich sein kann, einfach Bescheid geben!
@buchhalterfa: Du kannst das Programm via
pkill -f Fakturama
(gefahrlos) über das Terminal schließen. Danach kann man es wieder ganz normal (einmal) öffnen.
Viele Grüße
Esentian