schließen

Loginbox

Trage bitte in die nachfolgenden Felder Deinen Benutzernamen und Kennwort ein, um Dich einzuloggen.


  • Username:
  • Passwort:
  •  
  • Bei jedem Besuch automatisch einloggen.


  •  
   

Hibiscus / Jameica auf einem Raspberry Pi3



erik.p offline
Benutzer
Avatar
Ort:  
Beiträge: 4 seit: 01 / 2018
Private Nachricht
Betreff: Hibiscus / Jameica auf einem Raspberry Pi3  -  Gepostet: 31.01.2018 - 15:22 Uhr  -  
Hallo zusammen,

hat vielleicht jemand den Jameica Server auf einem Raspberry Pi zum Laufen bekommen? Ich versuche derzeit den Jameica Server (nightly) mit dem Jameica.Webadmin als einziges Plugin zu starten und laufe in eine OutOfMemory Exception. Wobei die Fehlermeldung eher auf ein Thread Problem als ein Memory Problem hindeutet.

Code

[Wed Jan 31 14:35:22 CET 2018][INFO][pool-1-thread-1][de.willuhn.jameica.messaging.NamedConcurrentQueue.deliver] error while processing message
java.rmi.RemoteException: unable to start handler; nested exception is: 
  MultiException[java.lang.OutOfMemoryError: unable to create new native thread, java.util.concurrent.RejectedExecutionException: org.eclipse.jetty.io.ManagedSelector@144adc5 id=0 keys=0 selected=0]
  at de.willuhn.jameica.webadmin.server.HttpServiceImpl.start(HttpServiceImpl.java:182)
  at de.willuhn.jameica.webadmin.server.HttpServiceImpl.addHandler(HttpServiceImpl.java:62)
  at de.willuhn.jameica.webadmin.messaging.DeployMessageConsumer.handleMessage(DeployMessageConsumer.java:96)
  at de.willuhn.jameica.messaging.NamedConcurrentQueue.deliver(NamedConcurrentQueue.java:246)
  at de.willuhn.jameica.messaging.NamedConcurrentQueue.access$000(NamedConcurrentQueue.java:26)
  at de.willuhn.jameica.messaging.NamedConcurrentQueue$1.run(NamedConcurrentQueue.java:81)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
  at java.lang.Thread.run(Thread.java:745)
Caused by: MultiException[java.lang.OutOfMemoryError: unable to create new native thread, java.util.concurrent.RejectedExecutionException: org.eclipse.jetty.io.ManagedSelector@144adc5 id=0 keys=0 selected=0]
  at org.eclipse.jetty.server.Server.doStart(Server.java:386)
  at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
  at de.willuhn.jameica.webadmin.server.HttpServiceImpl.start(HttpServiceImpl.java:176)
  ... 8 more
  Suppressed: java.util.concurrent.RejectedExecutionException: org.eclipse.jetty.io.ManagedSelector@144adc5 id=0 keys=0 selected=0
    at org.eclipse.jetty.util.thread.QueuedThreadPool.execute(QueuedThreadPool.java:383)
    at org.eclipse.jetty.io.SelectorManager.execute(SelectorManager.java:143)
    at org.eclipse.jetty.io.ManagedSelector.doStart(ManagedSelector.java:91)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
    at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:131)
    at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:113)
    at org.eclipse.jetty.io.SelectorManager.doStart(SelectorManager.java:273)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
    at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:131)
    at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:105)
    at org.eclipse.jetty.server.AbstractConnector.doStart(AbstractConnector.java:268)
    at org.eclipse.jetty.server.AbstractNetworkConnector.doStart(AbstractNetworkConnector.java:81)
    at org.eclipse.jetty.server.ServerConnector.doStart(ServerConnector.java:235)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
    at org.eclipse.jetty.server.Server.doStart(Server.java:401)
    ... 10 more
Caused by: java.lang.OutOfMemoryError: unable to create new native thread
  at java.lang.Thread.start0(Native Method)
  at java.lang.Thread.start(Thread.java:714)
  at org.eclipse.jetty.util.thread.QueuedThreadPool.startThreads(QueuedThreadPool.java:475)
  at org.eclipse.jetty.util.thread.QueuedThreadPool.doStart(QueuedThreadPool.java:115)
  at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
  at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:131)
  at org.eclipse.jetty.server.Server.start(Server.java:422)
  at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:113)
  at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61)
  at org.eclipse.jetty.server.Server.doStart(Server.java:389)
  ... 10 more
nach unten nach oben
erik.p offline
Benutzer
Avatar
Ort:  
Beiträge: 4 seit: 01 / 2018
Private Nachricht
Betreff: Re: Hibiscus / Jameica auf einem Raspberry Pi3  -  Gepostet: 31.01.2018 - 15:28 Uhr  -  
Update ulimit -a auf dem Raspberry zeigt:

max user processes (-u) 7346

Kann mir derzeit nicht vorstellen, dass jameica so viele Threads braucht..
nach unten nach oben
erik.p offline
Benutzer
Avatar
Ort:  
Beiträge: 4 seit: 01 / 2018
Private Nachricht
Betreff: Re: Hibiscus / Jameica auf einem Raspberry Pi3  -  Gepostet: 31.01.2018 - 15:42 Uhr  -  
Code

//A Very Simple Thread Example
class ThreadsExample {
  public static void main(String[] args){
    int i=0;
    while(true){
  i++;
      new Thread(new Runnable(){
          public void run() {
              try {
                  Thread.sleep(10000000);
              } catch(InterruptedException e) { 
      
    }        
        }
      }).start();
   System.out.println("Number: " + i);
    }
  }
}


Führt zu 5436 Threads die sich starten lassen..


Code

Ergebnis: 

Number: 5436
Exception in thread "main" java.lang.OutOfMemoryError: unable to create new native thread
  at java.lang.Thread.start0(Native Method)
  at java.lang.Thread.start(Thread.java:714)
  at ExampleProgram.main(threads.java:15)
Dieser Post wurde 1 mal bearbeitet. Letzte Editierung: 31.01.2018 - 15:43 Uhr von erik.p.
nach unten nach oben
hibiscus offline
Benutzer
Avatar
Ort:   Leipzig
Beiträge: 5796 seit: 03 / 2005
Homepage Private Nachricht
Betreff: Re: Hibiscus / Jameica auf einem Raspberry Pi3  -  Gepostet: 01.02.2018 - 12:04 Uhr  -  
Öffne mal das Shellscript "jameicaserver.sh" in einem Texteditor und entferne mal den Parameter "-Xss64m". Der war durch einige Scripting-Plugins nötig geworden - beim Zugriff per Webscraping via HTMLUnit kommt es beim Parsen der Webseiten mancher Banken aufgrund deren Komplexität des DOM-Trees zu derart tiefen Stacks, dass dies zu einem StackOverflowError führte. Der genannte VM-Parameter erhöht die Stackgrösse.

Und dabei fällt mir gerade auf, dass es von mir eigentlich Unsinn war, diesen Parameter auch im Shell-Script der Server-Version zu setzen, wo doch die Scripting-Plugins dort gar nicht zur Anwendung kommen. Ich werde den Parameter daher aus der jameicaserver.sh wieder entfernen.
nach unten nach oben
erik.p offline
Benutzer
Avatar
Ort:  
Beiträge: 4 seit: 01 / 2018
Private Nachricht
Betreff: Re: Hibiscus / Jameica auf einem Raspberry Pi3  -  Gepostet: 01.02.2018 - 13:06 Uhr  -  
YAHOOO! ^_^ Das wars wohl! Jameica startet startet nun auch auf dem Raspberry. Vielen, vielen Dank! Hab bei mir noch die Jetty Version auf 9.3.22.v20171030 hochgesetzt. Das hatte aber keine Auswirkung auf den Start..
nach unten nach oben
hibiscus offline
Benutzer
Avatar
Ort:   Leipzig
Beiträge: 5796 seit: 03 / 2005
Homepage Private Nachricht
Betreff: Re: Hibiscus / Jameica auf einem Raspberry Pi3  -  Gepostet: 01.02.2018 - 13:17 Uhr  -  
Prima. Danke fuer die Rueckmeldung.
nach unten nach oben
 



Registrierte in diesem Topic
Aktuell kein registrierter in diesem Bereich

Cookies von diesem Forum entfernen  •  FAQ / Hilfe  •  Teamseite  •  Impressum   |  Aktuelle Ortszeit: 19.02.2018 - 12:20