Kann Fakturama nur ...
 
Benachrichtigungen
Alles entfernen

Kann Fakturama nur einmal öffnen

31 Beiträge
7 Benutzer
0 Likes
3,375 Aufrufe
(@Esentian)
Eminent Member
Beigetreten: vor 6 Jahren
Beiträge: 31
Topic starter  

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


   
Zitat
(@Esentian)
Eminent Member
Beigetreten: vor 6 Jahren
Beiträge: 31
Topic starter  

Habe es eben auch nochmal mit einer frischen Arch-Installation und mit Gnome statt xfce versucht:

Gleiches Problem!


   
AntwortZitat
(@rheydenr)
Forum-Admin Registered
Beigetreten: vor 11 Jahren
Beiträge: 4308
 

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?


   
AntwortZitat
(@Esentian)
Eminent Member
Beigetreten: vor 6 Jahren
Beiträge: 31
Topic starter  

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


   
AntwortZitat
(@rheydenr)
Forum-Admin Registered
Beigetreten: vor 11 Jahren
Beiträge: 4308
 

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?


   
AntwortZitat
(@Esentian)
Eminent Member
Beigetreten: vor 6 Jahren
Beiträge: 31
Topic starter  

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


   
AntwortZitat
(@rheydenr)
Forum-Admin Registered
Beigetreten: vor 11 Jahren
Beiträge: 4308
 

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?


   
AntwortZitat
(@Esentian)
Eminent Member
Beigetreten: vor 6 Jahren
Beiträge: 31
Topic starter  

Hallo rheydenr,

mit der 2.0.3 Beta tritt das Problem bei mir auch nicht mehr auf!

Viele Grüße
Esentian


   
AntwortZitat
(@rheydenr)
Forum-Admin Registered
Beigetreten: vor 11 Jahren
Beiträge: 4308
 

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?


   
AntwortZitat
(@buchhalterfa)
Estimable Member
Beigetreten: vor 6 Jahren
Beiträge: 231
 

Hallo, gibt es evtl. eine weitere Beta Version?

MfG

buchhalterfa


   
AntwortZitat
(@Esentian)
Eminent Member
Beigetreten: vor 6 Jahren
Beiträge: 31
Topic starter  

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


   
AntwortZitat
(@buchhalterfa)
Estimable Member
Beigetreten: vor 6 Jahren
Beiträge: 231
 

Der Fehler tritt bei mir auch auf.


   
AntwortZitat
(@rheydenr)
Forum-Admin Registered
Beigetreten: vor 11 Jahren
Beiträge: 4308
 

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?


   
AntwortZitat
(@buchhalterfa)
Estimable Member
Beigetreten: vor 6 Jahren
Beiträge: 231
 

Hi, gibt es einen Workaround?


   
AntwortZitat
(@Esentian)
Eminent Member
Beigetreten: vor 6 Jahren
Beiträge: 31
Topic starter  

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


   
AntwortZitat
Seite 1 / 3
Teilen: