Menu

#1547 When trying to access a running HSQLDB process, a NPE ocurs

version 2.5.x
open-fixed
None
5
2019-06-10
2019-06-10
bruno KONIK
No

Hello,

Using HSQLDB 2.3.3 (our current production version), there is no problem.
Our server creates a separate java hsqldb process. When our process is abrupdly stopped, it may not have killed the hsqldb process using a SHUTDOWN sql. The java process then runs alone. To avoid problems when starting again our process, we then try to connect to a potentially running hsqldb process. During this attempt, we now always get a NPE while we never did get one before (using 2.3.3). The NPE is below.

2019-06-10 11:10:46,350 [TelServerDbProcess] INFO TelServerDb - Starting TelServer embedded database...
2019-06-10 11:10:46,479 [TelServerDbProcess] TRACE TelServerDb - [Server@6ed3ef1]: [Thread[main,5,main]]: checkRunning(false) entered
2019-06-10 11:10:46,479 [TelServerDbProcess] TRACE TelServerDb - [Server@6ed3ef1]: [Thread[main,5,main]]: checkRunning(false) exited
2019-06-10 11:10:46,479 [TelServerDbProcess] TRACE TelServerDb - [Server@6ed3ef1]: [Thread[main,5,main]]: setDatabaseName(0,telserver)
2019-06-10 11:10:46,479 [TelServerDbProcess] TRACE TelServerDb - [Server@6ed3ef1]: [Thread[main,5,main]]: checkRunning(false) entered
2019-06-10 11:10:46,479 [TelServerDbProcess] TRACE TelServerDb - [Server@6ed3ef1]: [Thread[main,5,main]]: checkRunning(false) exited
2019-06-10 11:10:46,479 [TelServerDbProcess] TRACE TelServerDb - [Server@6ed3ef1]: [Thread[main,5,main]]: setDatabasePath(0,D:\unigone\development\JavaProject\TelServer-vdev\tests-chat\data\telserver;hsqldb.cache_file_scale=8)
2019-06-10 11:10:46,479 [TelServerDbProcess] TRACE TelServerDb - [Server@6ed3ef1]: [Thread[main,5,main]]: checkRunning(false) entered
2019-06-10 11:10:46,479 [TelServerDbProcess] TRACE TelServerDb - [Server@6ed3ef1]: [Thread[main,5,main]]: checkRunning(false) exited
2019-06-10 11:10:46,479 [TelServerDbProcess] TRACE TelServerDb - [Server@6ed3ef1]: [Thread[main,5,main]]: setPort(9001)
2019-06-10 11:10:46,479 [TelServerDbProcess] TRACE TelServerDb - [Server@6ed3ef1]: [Thread[main,5,main]]: setTrace(false)
2019-06-10 11:10:46,487 [TelServerDbProcess] TRACE TelServerDb - [Server@6ed3ef1]: Initiating startup sequence...
2019-06-10 11:10:46,492 [TelServerDbProcess] TRACE TelServerDb - [Server@6ed3ef1]: [Thread[HSQLDB Server @6ed3ef1,5,main]]: run()/openServerSocket():
2019-06-10 11:10:46,493 [TelServerDbProcess] TRACE TelServerDb - java.net.BindException: Address already in use: JVM_Bind
2019-06-10 11:10:46,493 [TelServerDbProcess] TRACE TelServerDb - at java.net.DualStackPlainSocketImpl.bind0(Native Method)
2019-06-10 11:10:46,493 [TelServerDbProcess] TRACE TelServerDb - at java.net.DualStackPlainSocketImpl.socketBind(DualStackPlainSocketImpl.java:106)
2019-06-10 11:10:46,493 [TelServerDbProcess] TRACE TelServerDb - at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:387)
2019-06-10 11:10:46,493 [TelServerDbProcess] TRACE TelServerDb - at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:190)
2019-06-10 11:10:46,493 [TelServerDbProcess] TRACE TelServerDb - at java.net.ServerSocket.bind(ServerSocket.java:375)
2019-06-10 11:10:46,493 [TelServerDbProcess] TRACE TelServerDb - at java.net.ServerSocket.<init>(ServerSocket.java:237)
2019-06-10 11:10:46,493 [TelServerDbProcess] TRACE TelServerDb - at java.net.ServerSocket.<init>(ServerSocket.java:128)
2019-06-10 11:10:46,493 [TelServerDbProcess] TRACE TelServerDb - at org.hsqldb.server.HsqlSocketFactory.createServerSocket(HsqlSocketFactory.java:94)
2019-06-10 11:10:46,493 [TelServerDbProcess] TRACE TelServerDb - at org.hsqldb.server.Server.openServerSocket(Server.java:1867)
2019-06-10 11:10:46,493 [TelServerDbProcess] TRACE TelServerDb - at org.hsqldb.server.Server.run(Server.java:2008)
2019-06-10 11:10:46,493 [TelServerDbProcess] TRACE TelServerDb - at org.hsqldb.server.Server.access$000(Server.java:238)
2019-06-10 11:10:46,493 [TelServerDbProcess] TRACE TelServerDb - at org.hsqldb.server.Server$ServerThread.run(Server.java:310)
2019-06-10 11:10:46,493 [TelServerDbProcess] TRACE TelServerDb - [Server@6ed3ef1]: Initiating shutdown sequence...
2019-06-10 11:10:46,498 [TelServerDbProcess] TRACE TelServerDb - Exception in thread "HSQLDB Server @6ed3ef1" java.lang.NullPointerException
2019-06-10 11:10:46,498 [TelServerDbProcess] TRACE TelServerDb - at org.hsqldb.server.Server.shutdown(Server.java:2164)
2019-06-10 11:10:46,498 [TelServerDbProcess] TRACE TelServerDb - at org.hsqldb.server.Server.run(Server.java:2013)
2019-06-10 11:10:46,498 [TelServerDbProcess] TRACE TelServerDb - at org.hsqldb.server.Server.access$000(Server.java:238)
2019-06-10 11:10:46,498 [TelServerDbProcess] TRACE TelServerDb - at org.hsqldb.server.Server$ServerThread.run(Server.java:310)</init></init>

Thank you for having a look.

Related

Bugs: #1547

Discussion

  • Fred Toussi

    Fred Toussi - 2019-06-10

    The log messages show your app starts a new server process "HSQLDB Server @6ed3ef1" and when this process fails to start due to conflict with existing server running on the port, it shuts itself down. During this shutdown attempt, there is an NPE.

     
    • bruno KONIK

      bruno KONIK - 2019-06-10

      Hello Fred,

      Thanks for your fast answer.

      How do you explain that it has never failed with the 2.3.3 version ? You can
      see below that there is no NPE and that the process which tries to connect
      to the database has got no problem doing so.

      Here is the log when using 2.3.3 in the same situation :

      2019-06-10 11:03:18,774 [TelServerDbProcess] INFO TelServerDb - Starting
      TelServer embedded database...

      2019-06-10 11:03:18,925 [TelServerDbProcess] TRACE TelServerDb -
      [Server@2aae9190]: [Thread[main,5,main]]: checkRunning(false) entered

      2019-06-10 11:03:18,925 [TelServerDbProcess] TRACE TelServerDb -
      [Server@2aae9190]: [Thread[main,5,main]]: checkRunning(false) exited

      2019-06-10 11:03:18,925 [TelServerDbProcess] TRACE TelServerDb -
      [Server@2aae9190]: [Thread[main,5,main]]: setDatabaseName(0,telserver)

      2019-06-10 11:03:18,925 [TelServerDbProcess] TRACE TelServerDb -
      [Server@2aae9190]: [Thread[main,5,main]]: checkRunning(false) entered

      2019-06-10 11:03:18,925 [TelServerDbProcess] TRACE TelServerDb -
      [Server@2aae9190]: [Thread[main,5,main]]: checkRunning(false) exited

      2019-06-10 11:03:18,925 [TelServerDbProcess] TRACE TelServerDb -

      setDatabasePath(0,D:\unigone\development\JavaProject\TelServer-vdev\tests-ch
      at\data\telserver;hsqldb.cache_file_scale=8)

      2019-06-10 11:03:18,925 [TelServerDbProcess] TRACE TelServerDb -
      [Server@2aae9190]: [Thread[main,5,main]]: checkRunning(false) entered

      2019-06-10 11:03:18,925 [TelServerDbProcess] TRACE TelServerDb -
      [Server@2aae9190]: [Thread[main,5,main]]: checkRunning(false) exited

      2019-06-10 11:03:18,925 [TelServerDbProcess] TRACE TelServerDb -
      [Server@2aae9190]: [Thread[main,5,main]]: setPort(9001)

      2019-06-10 11:03:18,925 [TelServerDbProcess] TRACE TelServerDb -
      [Server@2aae9190]: [Thread[main,5,main]]: setTrace(false)

      2019-06-10 11:03:18,925 [TelServerDbProcess] TRACE TelServerDb -
      [Server@2aae9190]: [Thread[main,5,main]]: setSilent(true)

      2019-06-10 11:03:18,925 [TelServerDbProcess] TRACE TelServerDb -
      [Server@2aae9190]: Initiating startup sequence...

      2019-06-10 11:03:18,931 [TelServerDbProcess] TRACE TelServerDb -
      [Server@2aae9190]: [Thread[HSQLDB Server @2aae9190,5,main]]:
      run()/openServerSocket():

      2019-06-10 11:03:18,942 [TelServerDbProcess] TRACE TelServerDb -
      java.net.BindException: Address already in use: JVM_Bind

      2019-06-10 11:03:18,942 [TelServerDbProcess] TRACE TelServerDb - at
      java.net.DualStackPlainSocketImpl.bind0(Native Method)

      2019-06-10 11:03:18,942 [TelServerDbProcess] TRACE TelServerDb - at
      java.net.DualStackPlainSocketImpl.socketBind(DualStackPlainSocketImpl.java:1
      06)

      2019-06-10 11:03:18,942 [TelServerDbProcess] TRACE TelServerDb - at
      java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:387)

      2019-06-10 11:03:18,942 [TelServerDbProcess] TRACE TelServerDb - at
      java.net.PlainSocketImpl.bind(PlainSocketImpl.java:190)

      2019-06-10 11:03:18,942 [TelServerDbProcess] TRACE TelServerDb - at
      java.net.ServerSocket.bind(ServerSocket.java:375)

      2019-06-10 11:03:18,942 [TelServerDbProcess] TRACE TelServerDb - at
      java.net.ServerSocket.<init>(ServerSocket.java:237)</init>

      2019-06-10 11:03:18,942 [TelServerDbProcess] TRACE TelServerDb - at
      java.net.ServerSocket.<init>(ServerSocket.java:128)</init>

      2019-06-10 11:03:18,942 [TelServerDbProcess] TRACE TelServerDb - at
      org.hsqldb.server.HsqlSocketFactory.createServerSocket(Unknown Source)

      2019-06-10 11:03:18,942 [TelServerDbProcess] TRACE TelServerDb - at
      org.hsqldb.server.Server.openServerSocket(Unknown Source)

      2019-06-10 11:03:18,942 [TelServerDbProcess] TRACE TelServerDb - at
      org.hsqldb.server.Server.run(Unknown Source)

      2019-06-10 11:03:18,942 [TelServerDbProcess] TRACE TelServerDb - at
      org.hsqldb.server.Server.access$000(Unknown Source)

      2019-06-10 11:03:18,942 [TelServerDbProcess] TRACE TelServerDb - at
      org.hsqldb.server.Server$ServerThread.run(Unknown Source)

      2019-06-10 11:03:18,942 [TelServerDbProcess] TRACE TelServerDb -
      [Server@2aae9190]: Initiating shutdown sequence...

      2019-06-10 11:03:18,942 [TelServerDbProcess] TRACE TelServerDb -
      [Server@2aae9190]: Shutdown sequence completed in 5 ms.

      2019-06-10 11:03:18,942 [TelServerDbProcess] TRACE TelServerDb -
      [Server@2aae9190]: 2019-06-10 11:03:18.940 SHUTDOWN : System.exit() was not
      called

      2019-06-10 11:03:19,029 [TelServerDbProcess] INFO TelServerDb - TelServer
      embedded database stopped (state=16)

      2019-06-10 11:03:19,029 [TelServerDbProcess] DEBUG DataManager - TelServer
      embedded database process has not properly started, try to connect existing
      database...

      2019-06-10 11:03:19,029 [TelServerDbProcess] DEBUG DataManager - Connecting
      database...

      2019-06-10 11:03:19,029 [TelServerDbProcess] DEBUG DataConnection - JDBC
      connection to URL jdbc:hsqldb:hsql://localhost:9001/telserver (table
      history) with username 'telserver' connecting...

      Can you explain what may have changed in 2.5.0 ?

      Bruno

      De : Fred Toussi [mailto:fredt@users.sourceforge.net]
      Envoyé : lundi 10 juin 2019 11:51
      À : [hsqldb:bugs] 1547@bugs.hsqldb.p.re.sourceforge.net
      Objet : [hsqldb:bugs] #1547 When trying to access a running HSQLDB process,
      a NPE ocurs

      The log messages show your app starts a new server process "HSQLDB Server
      @6ed3ef1" and when this process fails to start due to conflict with existing
      server running on the port, it shuts itself down. During this shutdown
      attempt, there is an NPE.


      [bugs:#1547] https://sourceforge.net/p/hsqldb/bugs/1547/ When trying to
      access a running HSQLDB process, a NPE ocurs

      Status: open
      Group: version 2.5.x
      Created: Mon Jun 10, 2019 09:20 AM UTC by bruno KONIK
      Last Updated: Mon Jun 10, 2019 09:20 AM UTC
      Owner: nobody

      Hello,

      Using HSQLDB 2.3.3 (our current production version), there is no problem.
      Our server creates a separate java hsqldb process. When our process is
      abrupdly stopped, it may not have killed the hsqldb process using a SHUTDOWN
      sql. The java process then runs alone. To avoid problems when starting again
      our process, we then try to connect to a potentially running hsqldb process.
      During this attempt, we now always get a NPE while we never did get one
      before (using 2.3.3). The NPE is below.

      2019-06-10 11:10:46,350 [TelServerDbProcess] INFO TelServerDb - Starting
      TelServer embedded database...
      2019-06-10 11:10:46,479 [TelServerDbProcess] TRACE TelServerDb -
      [Server@6ed3ef1]: [Thread[main,5,main]]: checkRunning(false) entered
      2019-06-10 11:10:46,479 [TelServerDbProcess] TRACE TelServerDb -
      [Server@6ed3ef1]: [Thread[main,5,main]]: checkRunning(false) exited
      2019-06-10 11:10:46,479 [TelServerDbProcess] TRACE TelServerDb -
      [Server@6ed3ef1]: [Thread[main,5,main]]: setDatabaseName(0,telserver)
      2019-06-10 11:10:46,479 [TelServerDbProcess] TRACE TelServerDb -
      [Server@6ed3ef1]: [Thread[main,5,main]]: checkRunning(false) entered
      2019-06-10 11:10:46,479 [TelServerDbProcess] TRACE TelServerDb -
      [Server@6ed3ef1]: [Thread[main,5,main]]: checkRunning(false) exited
      2019-06-10 11:10:46,479 [TelServerDbProcess] TRACE TelServerDb -

      setDatabasePath(0,D:\unigone\development\JavaProject\TelServer-vdev\tests-ch
      at\data\telserver;hsqldb.cache_file_scale=8)
      2019-06-10 11:10:46,479 [TelServerDbProcess] TRACE TelServerDb -
      [Server@6ed3ef1]: [Thread[main,5,main]]: checkRunning(false) entered
      2019-06-10 11:10:46,479 [TelServerDbProcess] TRACE TelServerDb -
      [Server@6ed3ef1]: [Thread[main,5,main]]: checkRunning(false) exited
      2019-06-10 11:10:46,479 [TelServerDbProcess] TRACE TelServerDb -
      [Server@6ed3ef1]: [Thread[main,5,main]]: setPort(9001)
      2019-06-10 11:10:46,479 [TelServerDbProcess] TRACE TelServerDb -
      [Server@6ed3ef1]: [Thread[main,5,main]]: setTrace(false)
      2019-06-10 11:10:46,487 [TelServerDbProcess] TRACE TelServerDb -
      [Server@6ed3ef1]: Initiating startup sequence...
      2019-06-10 11:10:46,492 [TelServerDbProcess] TRACE TelServerDb -
      [Server@6ed3ef1]: [Thread[HSQLDB Server @6ed3ef1,5,main]]:
      run()/openServerSocket():
      2019-06-10 11:10:46,493 [TelServerDbProcess] TRACE TelServerDb -
      java.net.BindException: Address already in use: JVM_Bind
      2019-06-10 11:10:46,493 [TelServerDbProcess] TRACE TelServerDb - at
      java.net.DualStackPlainSocketImpl.bind0(Native Method)
      2019-06-10 11:10:46,493 [TelServerDbProcess] TRACE TelServerDb - at
      java.net.DualStackPlainSocketImpl.socketBind(DualStackPlainSocketImpl.java:1
      06)
      2019-06-10 11:10:46,493 [TelServerDbProcess] TRACE TelServerDb - at
      java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:387)
      2019-06-10 11:10:46,493 [TelServerDbProcess] TRACE TelServerDb - at
      java.net.PlainSocketImpl.bind(PlainSocketImpl.java:190)
      2019-06-10 11:10:46,493 [TelServerDbProcess] TRACE TelServerDb - at
      java.net.ServerSocket.bind(ServerSocket.java:375)
      2019-06-10 11:10:46,493 [TelServerDbProcess] TRACE TelServerDb - at
      java.net.ServerSocket.<init>(ServerSocket.java:237)
      2019-06-10 11:10:46,493 [TelServerDbProcess] TRACE TelServerDb - at
      java.net.ServerSocket.<init>(ServerSocket.java:128)
      2019-06-10 11:10:46,493 [TelServerDbProcess] TRACE TelServerDb - at
      org.hsqldb.server.HsqlSocketFactory.createServerSocket(HsqlSocketFactory.jav
      a:94)
      2019-06-10 11:10:46,493 [TelServerDbProcess] TRACE TelServerDb - at
      org.hsqldb.server.Server.openServerSocket(Server.java:1867)
      2019-06-10 11:10:46,493 [TelServerDbProcess] TRACE TelServerDb - at
      org.hsqldb.server.Server.run(Server.java:2008)
      2019-06-10 11:10:46,493 [TelServerDbProcess] TRACE TelServerDb - at
      org.hsqldb.server.Server.access$000(Server.java:238)
      2019-06-10 11:10:46,493 [TelServerDbProcess] TRACE TelServerDb - at
      org.hsqldb.server.Server$ServerThread.run(Server.java:310)
      2019-06-10 11:10:46,493 [TelServerDbProcess] TRACE TelServerDb -
      [Server@6ed3ef1]: Initiating shutdown sequence...
      2019-06-10 11:10:46,498 [TelServerDbProcess] TRACE TelServerDb - Exception
      in thread "HSQLDB Server @6ed3ef1" java.lang.NullPointerException
      2019-06-10 11:10:46,498 [TelServerDbProcess] TRACE TelServerDb - at
      org.hsqldb.server.Server.shutdown(Server.java:2164)
      2019-06-10 11:10:46,498 [TelServerDbProcess] TRACE TelServerDb - at
      org.hsqldb.server.Server.run(Server.java:2013)
      2019-06-10 11:10:46,498 [TelServerDbProcess] TRACE TelServerDb - at
      org.hsqldb.server.Server.access$000(Server.java:238)
      2019-06-10 11:10:46,498 [TelServerDbProcess] TRACE TelServerDb - at
      org.hsqldb.server.Server$ServerThread.run(Server.java:310)</init></init>

      Thank you for having a look.


      Sent from sourceforge.net because you indicated interest in
      https://sourceforge.net/p/hsqldb/bugs/1547/

      To unsubscribe from further messages, please visit
      https://sourceforge.net/auth/subscriptions/

       

      Related

      Bugs: #1547

  • Fred Toussi

    Fred Toussi - 2019-06-10
    • status: open --> open-fixed
    • assigned_to: Fred Toussi
     
  • Fred Toussi

    Fred Toussi - 2019-06-10

    Fixed and committed to SVN trunk. Please download the snaphot, build and test.
    https://sourceforge.net/p/hsqldb/svn/HEAD/tree/base/trunk/

     
  • bruno KONIK

    bruno KONIK - 2019-06-10

    Hi Fred,

    To provide more information. Our server launches a ProcessBuilder for hsqldb
    and supervises the Server.getState() to detect if the server has stopped (we
    test Server.getState() == 16 - that is
    ServerProperties.SERVER_STATE_SHUTDOWN) . If there is a NPE, it seems that
    our test cannot function as we expect since the state is never set to 16. Do
    you have a hint to ensure that the server is stopped even if there is this
    NPE ?

    I think that avoiding the NPE would make the state set to 16 but I may miss
    something.

    Bruno

    De : Bruno Konik [mailto:bruno.konik@unigone.com]
    Envoyé : lundi 10 juin 2019 14:07
    À : '[hsqldb:bugs] ' 1547@bugs.hsqldb.p.re.sourceforge.net
    Objet : RE: [hsqldb:bugs] #1547 When trying to access a running HSQLDB
    process, a NPE ocurs

    Hello Fred,

    Thanks for your fast answer.

    How do you explain that it has never failed with the 2.3.3 version ? You can
    see below that there is no NPE and that the process which tries to connect
    to the database has got no problem doing so.

    Here is the log when using 2.3.3 in the same situation :

    2019-06-10 11:03:18,774 [TelServerDbProcess] INFO TelServerDb - Starting
    TelServer embedded database...

    2019-06-10 11:03:18,925 [TelServerDbProcess] TRACE TelServerDb -
    [Server@2aae9190]: [Thread[main,5,main]]: checkRunning(false) entered

    2019-06-10 11:03:18,925 [TelServerDbProcess] TRACE TelServerDb -
    [Server@2aae9190]: [Thread[main,5,main]]: checkRunning(false) exited

    2019-06-10 11:03:18,925 [TelServerDbProcess] TRACE TelServerDb -
    [Server@2aae9190]: [Thread[main,5,main]]: setDatabaseName(0,telserver)

    2019-06-10 11:03:18,925 [TelServerDbProcess] TRACE TelServerDb -
    [Server@2aae9190]: [Thread[main,5,main]]: checkRunning(false) entered

    2019-06-10 11:03:18,925 [TelServerDbProcess] TRACE TelServerDb -
    [Server@2aae9190]: [Thread[main,5,main]]: checkRunning(false) exited

    2019-06-10 11:03:18,925 [TelServerDbProcess] TRACE TelServerDb -

    setDatabasePath(0,D:\unigone\development\JavaProject\TelServer-vdev\tests-ch
    at\data\telserver;hsqldb.cache_file_scale=8)

    2019-06-10 11:03:18,925 [TelServerDbProcess] TRACE TelServerDb -
    [Server@2aae9190]: [Thread[main,5,main]]: checkRunning(false) entered

    2019-06-10 11:03:18,925 [TelServerDbProcess] TRACE TelServerDb -
    [Server@2aae9190]: [Thread[main,5,main]]: checkRunning(false) exited

    2019-06-10 11:03:18,925 [TelServerDbProcess] TRACE TelServerDb -
    [Server@2aae9190]: [Thread[main,5,main]]: setPort(9001)

    2019-06-10 11:03:18,925 [TelServerDbProcess] TRACE TelServerDb -
    [Server@2aae9190]: [Thread[main,5,main]]: setTrace(false)

    2019-06-10 11:03:18,925 [TelServerDbProcess] TRACE TelServerDb -
    [Server@2aae9190]: [Thread[main,5,main]]: setSilent(true)

    2019-06-10 11:03:18,925 [TelServerDbProcess] TRACE TelServerDb -
    [Server@2aae9190]: Initiating startup sequence...

    2019-06-10 11:03:18,931 [TelServerDbProcess] TRACE TelServerDb -
    [Server@2aae9190]: [Thread[HSQLDB Server @2aae9190,5,main]]:
    run()/openServerSocket():

    2019-06-10 11:03:18,942 [TelServerDbProcess] TRACE TelServerDb -
    java.net.BindException: Address already in use: JVM_Bind

    2019-06-10 11:03:18,942 [TelServerDbProcess] TRACE TelServerDb - at
    java.net.DualStackPlainSocketImpl.bind0(Native Method)

    2019-06-10 11:03:18,942 [TelServerDbProcess] TRACE TelServerDb - at
    java.net.DualStackPlainSocketImpl.socketBind(DualStackPlainSocketImpl.java:1
    06)

    2019-06-10 11:03:18,942 [TelServerDbProcess] TRACE TelServerDb - at
    java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:387)

    2019-06-10 11:03:18,942 [TelServerDbProcess] TRACE TelServerDb - at
    java.net.PlainSocketImpl.bind(PlainSocketImpl.java:190)

    2019-06-10 11:03:18,942 [TelServerDbProcess] TRACE TelServerDb - at
    java.net.ServerSocket.bind(ServerSocket.java:375)

    2019-06-10 11:03:18,942 [TelServerDbProcess] TRACE TelServerDb - at
    java.net.ServerSocket.<init>(ServerSocket.java:237)</init>

    2019-06-10 11:03:18,942 [TelServerDbProcess] TRACE TelServerDb - at
    java.net.ServerSocket.<init>(ServerSocket.java:128)</init>

    2019-06-10 11:03:18,942 [TelServerDbProcess] TRACE TelServerDb - at
    org.hsqldb.server.HsqlSocketFactory.createServerSocket(Unknown Source)

    2019-06-10 11:03:18,942 [TelServerDbProcess] TRACE TelServerDb - at
    org.hsqldb.server.Server.openServerSocket(Unknown Source)

    2019-06-10 11:03:18,942 [TelServerDbProcess] TRACE TelServerDb - at
    org.hsqldb.server.Server.run(Unknown Source)

    2019-06-10 11:03:18,942 [TelServerDbProcess] TRACE TelServerDb - at
    org.hsqldb.server.Server.access$000(Unknown Source)

    2019-06-10 11:03:18,942 [TelServerDbProcess] TRACE TelServerDb - at
    org.hsqldb.server.Server$ServerThread.run(Unknown Source)

    2019-06-10 11:03:18,942 [TelServerDbProcess] TRACE TelServerDb -
    [Server@2aae9190]: Initiating shutdown sequence...

    2019-06-10 11:03:18,942 [TelServerDbProcess] TRACE TelServerDb -
    [Server@2aae9190]: Shutdown sequence completed in 5 ms.

    2019-06-10 11:03:18,942 [TelServerDbProcess] TRACE TelServerDb -
    [Server@2aae9190]: 2019-06-10 11:03:18.940 SHUTDOWN : System.exit() was not
    called

    2019-06-10 11:03:19,029 [TelServerDbProcess] INFO TelServerDb - TelServer
    embedded database stopped (state=16)

    2019-06-10 11:03:19,029 [TelServerDbProcess] DEBUG DataManager - TelServer
    embedded database process has not properly started, try to connect existing
    database...

    2019-06-10 11:03:19,029 [TelServerDbProcess] DEBUG DataManager - Connecting
    database...

    2019-06-10 11:03:19,029 [TelServerDbProcess] DEBUG DataConnection - JDBC
    connection to URL jdbc:hsqldb:hsql://localhost:9001/telserver (table
    history) with username 'telserver' connecting...

    Can you explain what may have changed in 2.5.0 ?

    Bruno

    De : Fred Toussi [mailto:fredt@users.sourceforge.net]
    Envoyé : lundi 10 juin 2019 11:51
    À : [hsqldb:bugs] <1547@bugs.hsqldb.p.re.sourceforge.net
    1547@bugs.hsqldb.p.re.sourceforge.net >
    Objet : [hsqldb:bugs] #1547 When trying to access a running HSQLDB process,
    a NPE ocurs

    The log messages show your app starts a new server process "HSQLDB Server
    @6ed3ef1" and when this process fails to start due to conflict with existing
    server running on the port, it shuts itself down. During this shutdown
    attempt, there is an NPE.


    [bugs:#1547] https://sourceforge.net/p/hsqldb/bugs/1547/ When trying to
    access a running HSQLDB process, a NPE ocurs

    Status: open
    Group: version 2.5.x
    Created: Mon Jun 10, 2019 09:20 AM UTC by bruno KONIK
    Last Updated: Mon Jun 10, 2019 09:20 AM UTC
    Owner: nobody

    Hello,

    Using HSQLDB 2.3.3 (our current production version), there is no problem.
    Our server creates a separate java hsqldb process. When our process is
    abrupdly stopped, it may not have killed the hsqldb process using a SHUTDOWN
    sql. The java process then runs alone. To avoid problems when starting again
    our process, we then try to connect to a potentially running hsqldb process.
    During this attempt, we now always get a NPE while we never did get one
    before (using 2.3.3). The NPE is below.

    2019-06-10 11:10:46,350 [TelServerDbProcess] INFO TelServerDb - Starting
    TelServer embedded database...
    2019-06-10 11:10:46,479 [TelServerDbProcess] TRACE TelServerDb -
    [Server@6ed3ef1]: [Thread[main,5,main]]: checkRunning(false) entered
    2019-06-10 11:10:46,479 [TelServerDbProcess] TRACE TelServerDb -
    [Server@6ed3ef1]: [Thread[main,5,main]]: checkRunning(false) exited
    2019-06-10 11:10:46,479 [TelServerDbProcess] TRACE TelServerDb -
    [Server@6ed3ef1]: [Thread[main,5,main]]: setDatabaseName(0,telserver)
    2019-06-10 11:10:46,479 [TelServerDbProcess] TRACE TelServerDb -
    [Server@6ed3ef1]: [Thread[main,5,main]]: checkRunning(false) entered
    2019-06-10 11:10:46,479 [TelServerDbProcess] TRACE TelServerDb -
    [Server@6ed3ef1]: [Thread[main,5,main]]: checkRunning(false) exited
    2019-06-10 11:10:46,479 [TelServerDbProcess] TRACE TelServerDb -

    setDatabasePath(0,D:\unigone\development\JavaProject\TelServer-vdev\tests-ch
    at\data\telserver;hsqldb.cache_file_scale=8)
    2019-06-10 11:10:46,479 [TelServerDbProcess] TRACE TelServerDb -
    [Server@6ed3ef1]: [Thread[main,5,main]]: checkRunning(false) entered
    2019-06-10 11:10:46,479 [TelServerDbProcess] TRACE TelServerDb -
    [Server@6ed3ef1]: [Thread[main,5,main]]: checkRunning(false) exited
    2019-06-10 11:10:46,479 [TelServerDbProcess] TRACE TelServerDb -
    [Server@6ed3ef1]: [Thread[main,5,main]]: setPort(9001)
    2019-06-10 11:10:46,479 [TelServerDbProcess] TRACE TelServerDb -
    [Server@6ed3ef1]: [Thread[main,5,main]]: setTrace(false)
    2019-06-10 11:10:46,487 [TelServerDbProcess] TRACE TelServerDb -
    [Server@6ed3ef1]: Initiating startup sequence...
    2019-06-10 11:10:46,492 [TelServerDbProcess] TRACE TelServerDb -
    [Server@6ed3ef1]: [Thread[HSQLDB Server @6ed3ef1,5,main]]:
    run()/openServerSocket():
    2019-06-10 11:10:46,493 [TelServerDbProcess] TRACE TelServerDb -
    java.net.BindException: Address already in use: JVM_Bind
    2019-06-10 11:10:46,493 [TelServerDbProcess] TRACE TelServerDb - at
    java.net.DualStackPlainSocketImpl.bind0(Native Method)
    2019-06-10 11:10:46,493 [TelServerDbProcess] TRACE TelServerDb - at
    java.net.DualStackPlainSocketImpl.socketBind(DualStackPlainSocketImpl.java:1
    06)
    2019-06-10 11:10:46,493 [TelServerDbProcess] TRACE TelServerDb - at
    java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:387)
    2019-06-10 11:10:46,493 [TelServerDbProcess] TRACE TelServerDb - at
    java.net.PlainSocketImpl.bind(PlainSocketImpl.java:190)
    2019-06-10 11:10:46,493 [TelServerDbProcess] TRACE TelServerDb - at
    java.net.ServerSocket.bind(ServerSocket.java:375)
    2019-06-10 11:10:46,493 [TelServerDbProcess] TRACE TelServerDb - at
    java.net.ServerSocket.<init>(ServerSocket.java:237)
    2019-06-10 11:10:46,493 [TelServerDbProcess] TRACE TelServerDb - at
    java.net.ServerSocket.<init>(ServerSocket.java:128)
    2019-06-10 11:10:46,493 [TelServerDbProcess] TRACE TelServerDb - at
    org.hsqldb.server.HsqlSocketFactory.createServerSocket(HsqlSocketFactory.jav
    a:94)
    2019-06-10 11:10:46,493 [TelServerDbProcess] TRACE TelServerDb - at
    org.hsqldb.server.Server.openServerSocket(Server.java:1867)
    2019-06-10 11:10:46,493 [TelServerDbProcess] TRACE TelServerDb - at
    org.hsqldb.server.Server.run(Server.java:2008)
    2019-06-10 11:10:46,493 [TelServerDbProcess] TRACE TelServerDb - at
    org.hsqldb.server.Server.access$000(Server.java:238)
    2019-06-10 11:10:46,493 [TelServerDbProcess] TRACE TelServerDb - at
    org.hsqldb.server.Server$ServerThread.run(Server.java:310)
    2019-06-10 11:10:46,493 [TelServerDbProcess] TRACE TelServerDb -
    [Server@6ed3ef1]: Initiating shutdown sequence...
    2019-06-10 11:10:46,498 [TelServerDbProcess] TRACE TelServerDb - Exception
    in thread "HSQLDB Server @6ed3ef1" java.lang.NullPointerException
    2019-06-10 11:10:46,498 [TelServerDbProcess] TRACE TelServerDb - at
    org.hsqldb.server.Server.shutdown(Server.java:2164)
    2019-06-10 11:10:46,498 [TelServerDbProcess] TRACE TelServerDb - at
    org.hsqldb.server.Server.run(Server.java:2013)
    2019-06-10 11:10:46,498 [TelServerDbProcess] TRACE TelServerDb - at
    org.hsqldb.server.Server.access$000(Server.java:238)
    2019-06-10 11:10:46,498 [TelServerDbProcess] TRACE TelServerDb - at
    org.hsqldb.server.Server$ServerThread.run(Server.java:310)</init></init>

    Thank you for having a look.


    Sent from sourceforge.net because you indicated interest in
    https://sourceforge.net/p/hsqldb/bugs/1547/

    To unsubscribe from further messages, please visit
    https://sourceforge.net/auth/subscriptions/

     

    Related

    Bugs: #1547

  • Fred Toussi

    Fred Toussi - 2019-06-10

    There was a regression in version 2.5.0 which is now fixed. Please download and test the SVN trunk HEAD as I suggested.

     
    • bruno KONIK

      bruno KONIK - 2019-06-10

      Hi Fred,

      Yes, the snapshot seems to have fixed the problem.

      Thank you much. It will be present in the next release I presume.

      Bruno

      De : Fred Toussi [mailto:fredt@users.sourceforge.net]
      Envoyé : lundi 10 juin 2019 14:41
      À : [hsqldb:bugs] 1547@bugs.hsqldb.p.re.sourceforge.net
      Objet : [hsqldb:bugs] #1547 When trying to access a running HSQLDB process,
      a NPE ocurs

      There was a regression in version 2.5.0 which is now fixed. Please download
      and test the SVN trunk HEAD as I suggested.


      [bugs:#1547] https://sourceforge.net/p/hsqldb/bugs/1547/ When trying to
      access a running HSQLDB process, a NPE ocurs

      Status: open-fixed
      Group: version 2.5.x
      Created: Mon Jun 10, 2019 09:20 AM UTC by bruno KONIK
      Last Updated: Mon Jun 10, 2019 12:00 PM UTC
      Owner: Fred Toussi

      Hello,

      Using HSQLDB 2.3.3 (our current production version), there is no problem.
      Our server creates a separate java hsqldb process. When our process is
      abrupdly stopped, it may not have killed the hsqldb process using a SHUTDOWN
      sql. The java process then runs alone. To avoid problems when starting again
      our process, we then try to connect to a potentially running hsqldb process.
      During this attempt, we now always get a NPE while we never did get one
      before (using 2.3.3). The NPE is below.

      2019-06-10 11:10:46,350 [TelServerDbProcess] INFO TelServerDb - Starting
      TelServer embedded database...
      2019-06-10 11:10:46,479 [TelServerDbProcess] TRACE TelServerDb -
      [Server@6ed3ef1]: [Thread[main,5,main]]: checkRunning(false) entered
      2019-06-10 11:10:46,479 [TelServerDbProcess] TRACE TelServerDb -
      [Server@6ed3ef1]: [Thread[main,5,main]]: checkRunning(false) exited
      2019-06-10 11:10:46,479 [TelServerDbProcess] TRACE TelServerDb -
      [Server@6ed3ef1]: [Thread[main,5,main]]: setDatabaseName(0,telserver)
      2019-06-10 11:10:46,479 [TelServerDbProcess] TRACE TelServerDb -
      [Server@6ed3ef1]: [Thread[main,5,main]]: checkRunning(false) entered
      2019-06-10 11:10:46,479 [TelServerDbProcess] TRACE TelServerDb -
      [Server@6ed3ef1]: [Thread[main,5,main]]: checkRunning(false) exited
      2019-06-10 11:10:46,479 [TelServerDbProcess] TRACE TelServerDb -

      setDatabasePath(0,D:\unigone\development\JavaProject\TelServer-vdev\tests-ch
      at\data\telserver;hsqldb.cache_file_scale=8)
      2019-06-10 11:10:46,479 [TelServerDbProcess] TRACE TelServerDb -
      [Server@6ed3ef1]: [Thread[main,5,main]]: checkRunning(false) entered
      2019-06-10 11:10:46,479 [TelServerDbProcess] TRACE TelServerDb -
      [Server@6ed3ef1]: [Thread[main,5,main]]: checkRunning(false) exited
      2019-06-10 11:10:46,479 [TelServerDbProcess] TRACE TelServerDb -
      [Server@6ed3ef1]: [Thread[main,5,main]]: setPort(9001)
      2019-06-10 11:10:46,479 [TelServerDbProcess] TRACE TelServerDb -
      [Server@6ed3ef1]: [Thread[main,5,main]]: setTrace(false)
      2019-06-10 11:10:46,487 [TelServerDbProcess] TRACE TelServerDb -
      [Server@6ed3ef1]: Initiating startup sequence...
      2019-06-10 11:10:46,492 [TelServerDbProcess] TRACE TelServerDb -
      [Server@6ed3ef1]: [Thread[HSQLDB Server @6ed3ef1,5,main]]:
      run()/openServerSocket():
      2019-06-10 11:10:46,493 [TelServerDbProcess] TRACE TelServerDb -
      java.net.BindException: Address already in use: JVM_Bind
      2019-06-10 11:10:46,493 [TelServerDbProcess] TRACE TelServerDb - at
      java.net.DualStackPlainSocketImpl.bind0(Native Method)
      2019-06-10 11:10:46,493 [TelServerDbProcess] TRACE TelServerDb - at
      java.net.DualStackPlainSocketImpl.socketBind(DualStackPlainSocketImpl.java:1
      06)
      2019-06-10 11:10:46,493 [TelServerDbProcess] TRACE TelServerDb - at
      java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:387)
      2019-06-10 11:10:46,493 [TelServerDbProcess] TRACE TelServerDb - at
      java.net.PlainSocketImpl.bind(PlainSocketImpl.java:190)
      2019-06-10 11:10:46,493 [TelServerDbProcess] TRACE TelServerDb - at
      java.net.ServerSocket.bind(ServerSocket.java:375)
      2019-06-10 11:10:46,493 [TelServerDbProcess] TRACE TelServerDb - at
      java.net.ServerSocket.<init>(ServerSocket.java:237)
      2019-06-10 11:10:46,493 [TelServerDbProcess] TRACE TelServerDb - at
      java.net.ServerSocket.<init>(ServerSocket.java:128)
      2019-06-10 11:10:46,493 [TelServerDbProcess] TRACE TelServerDb - at
      org.hsqldb.server.HsqlSocketFactory.createServerSocket(HsqlSocketFactory.jav
      a:94)
      2019-06-10 11:10:46,493 [TelServerDbProcess] TRACE TelServerDb - at
      org.hsqldb.server.Server.openServerSocket(Server.java:1867)
      2019-06-10 11:10:46,493 [TelServerDbProcess] TRACE TelServerDb - at
      org.hsqldb.server.Server.run(Server.java:2008)
      2019-06-10 11:10:46,493 [TelServerDbProcess] TRACE TelServerDb - at
      org.hsqldb.server.Server.access$000(Server.java:238)
      2019-06-10 11:10:46,493 [TelServerDbProcess] TRACE TelServerDb - at
      org.hsqldb.server.Server$ServerThread.run(Server.java:310)
      2019-06-10 11:10:46,493 [TelServerDbProcess] TRACE TelServerDb -
      [Server@6ed3ef1]: Initiating shutdown sequence...
      2019-06-10 11:10:46,498 [TelServerDbProcess] TRACE TelServerDb - Exception
      in thread "HSQLDB Server @6ed3ef1" java.lang.NullPointerException
      2019-06-10 11:10:46,498 [TelServerDbProcess] TRACE TelServerDb - at
      org.hsqldb.server.Server.shutdown(Server.java:2164)
      2019-06-10 11:10:46,498 [TelServerDbProcess] TRACE TelServerDb - at
      org.hsqldb.server.Server.run(Server.java:2013)
      2019-06-10 11:10:46,498 [TelServerDbProcess] TRACE TelServerDb - at
      org.hsqldb.server.Server.access$000(Server.java:238)
      2019-06-10 11:10:46,498 [TelServerDbProcess] TRACE TelServerDb - at
      org.hsqldb.server.Server$ServerThread.run(Server.java:310)</init></init>

      Thank you for having a look.


      Sent from sourceforge.net because you indicated interest in
      https://sourceforge.net/p/hsqldb/bugs/1547/

      To unsubscribe from further messages, please visit
      https://sourceforge.net/auth/subscriptions/

       

      Related

      Bugs: #1547


Log in to post a comment.

MongoDB Logo MongoDB