4 Replies Latest reply on Feb 11, 2009 12:20 PM by 681095

    Routeserver returns http500 and the RouteServer.log is always empty.Andnow?

    681095
      Hi,

      I've tried to execute the routeserver using: http://localhost:8888/routeserver/.

      Of course, before of that I did a lot of things.... I created 4 tables (NODE, ....). I executed the SP to populate PARTITION table, etc.... When I start oc4j the application comes up normally. Take a look to the log:


      C:\oc4j\bin>oc4j -start
      Starting OC4J from c:\oc4j\j2ee\home ...
      09/01/21 17:45:58 Loading partition 0 from database: 09/01/21 17:45:59 Oracle Containers for J2EE 10g (10.1.3.4.0) initialized

      When I was tring to call a single route, http 404 was appering... So, I added the folowing code in web.xml:

      <servlet-mapping>
           <servlet-name>RouteServerServlet</servlet-name>
           <url-pattern>/servlet/RouteServerServlet</url-pattern>
      </servlet-mapping>


      I think this was missing...

      Now, I got the http 500. I don't know what's the problem. I've changed the log level to FINEST, but the log file: RouteServer.log is always empty.


      Could you please help me about this issue? Where can I get any information about this? I think I need logs!!!! Aaaahhhhhhh!!!!


      Thank you very much,

      Regards,

      Daniel
        • 1. Re: Routeserver returns http500 and the RouteServer.log is always empty.Andnow?
          Cfreiwal-Oracle
          I suspect that the Routeserver didn't completely start. Most likely something went wrong reading the highway partition, partition 0, from the database into the cache.

          What was the database version that created the Partition table? As the Router user, execute the could you execute the following and post the results.

          sql> describe sdo_router_partition;

          Also, from the web.xml file can you look for the long_ids parameter and post it's value here. This should provide us with a start.

          Finally you might want to check the routeserver deployment log in $OC4JHOME/j2ee/home/application-deployments/routeserver/application.log to see if there were any problems in the actual deployment.
          • 2. Exception caught in RouteServerImplemenjava.lang.NegativeArraySizeException
            681095
            Hi cfreiwal,

            First of all, thank you very much for your response. It helped a lot. I could get new logs! This is great! I was very sad without them... Eheheh.

            Congratulations! You were right! The Routeserver wasn't completely started!

            Well, the new logs told me two initial problems (outOfMemory and VM array limit). Along of the day I solved these problems. But, now there is one more. Could you please take a look at the e-mail's end?

            About the structure that I am using here and questions :

            1- The database version that created the Partition table: Oracle 10g (10.1.3.4.0).

            2- I have just four tables: NODE, EDGE, PARTITION and SIGN_POST. NODE and EDGE were populated using a particular script and PARTITION was populated using the following command line: SQL> exec sdo_router_partition.partition_router('PARTITION', 200);

            3- The command: sql> describe sdo_router_partition result:
            SQL> describe sdo_router_partition;
            Element Type
            -------------------------- ---------
            ADJUST_M FUNCTION
            GET_PID FUNCTION
            MIN_EIGENVECTOR FUNCTION
            NODE_INEDGES FUNCTION
            NODE_OUTEDGES FUNCTION
            CLEANUP_ROUTER PROCEDURE
            PARTITION_ROUTER PROCEDURE
            ELOCATION_PARTITION_ROUTER PROCEDURE
            GET_EDGE_INFO FUNCTION
            GET_GEOMETRY_INFO FUNCTION

            4- About the long_ids from web.xml: I read that this value must be false (for integer ids). Is this right? I have tried both. If I use true, the array size exceeds VM limit error appears. So, I am using false....


            I hope I've answered your questions.


            If you could help me again I will be very happy.


            Thank you very much!

            Regards,

            Daniel


            The current log is:

            C:\Java\jdk1.5.0_16\bin>java -server -Xms1024m -Xmx1024m -XX:NewSize=256m -XX:Ma
            xNewSize=256m -Dsun.rmi.dgc.server.gcInterval=3600000 -Dsun.rmi.dgc.client.gcIn
            terval=3600000 -verbose:gc -jar c:\oc4j\j2ee\home\oc4j.jar -config c:\oc4j\j2ee\
            home\config\server.xml
            [Full GC 79772K->4538K(1022400K), 0.1563570 secs]
            [Full GC 23000K->5534K(1022400K), 0.1551585 secs]
            [Full GC 40990K->8467K(1022400K), 0.1996835 secs]
            [Full GC 30092K->9089K(1022400K), 0.2642948 secs]
            09/01/26 17:56:04 Loading partition 0 from database: Exception caught in RouteServerImplementation constructor
            09/01/26 17:56:04 [oracle.spatial.router.server.RouteServerImplementation, Mon J
            an 26 17:56:04 BRST 2009,#OC4J Launcher, FATAL] java.lang.NegativeArraySizeException
            at oracle.spatial.router.engine.Node.readNode(Node.java:87)
            at oracle.spatial.router.engine.Partition.readPartition(Partition.java:86)
            at oracle.spatial.router.engine.PartitionCache.loadPartitionFromDatabase(PartitionCache.java:286)
            at oracle.spatial.router.engine.PartitionCache.obtainPartitionReference(PartitionCache.java:244)
            at oracle.spatial.router.engine.Network.<init>(Network.java:77)
            at oracle.spatial.router.server.RouteServerImplementation.<init>(RouteServerImplementation.java:136)
            at oracle.spatial.router.server.RouteServerServlet.init(RouteServerServlet.java:299)
            at com.evermind.server.http.HttpApplication.loadServlet(HttpApplication.java:2379)
            at com.evermind.server.http.HttpApplication.findServlet(HttpApplication.java:4830)
            at com.evermind.server.http.HttpApplication.findServlet(HttpApplication.java:4754)
            at com.evermind.server.http.HttpApplication.initPreloadServlets(HttpApplication.java:4942)
            at com.evermind.server.http.HttpApplication.initDynamic(HttpApplication.java:1144)
            at com.evermind.server.http.HttpApplication.<init>(HttpApplication.java:741)
            at com.evermind.server.ApplicationStateRunning.getHttpApplication(ApplicationStateRunning.java:431)
            at com.evermind.server.Application.getHttpApplication(Application.java:586)
            at com.evermind.server.http.HttpSite$HttpApplicationRunTimeReference.createHttpApplicationFromReference(HttpSite.java:1987)
            at com.evermind.server.http.HttpSite$HttpApplicationRunTimeReference.<init>(HttpSite.java:1906)
            at com.evermind.server.http.HttpSite.initApplications(HttpSite.java:643)
            at com.evermind.server.http.HttpSite.setConfig(HttpSite.java:290)
            at com.evermind.server.http.HttpServer.setSites(HttpServer.java:270)
            at com.evermind.server.http.HttpServer.setConfig(HttpServer.java:177)
            at com.evermind.server.ApplicationServer.initializeHttp(ApplicationServer.java:2493)
            at com.evermind.server.ApplicationServer.setConfig(ApplicationServer.java:1042)
            at com.evermind.server.ApplicationServerLauncher.run(ApplicationServerLauncher.java:131)
            at java.lang.Thread.run(Thread.java:595)

            09/01/26 17:56:04 Exception caught while trying to initialize Oracle RouteServer

            09/01/26 17:56:04 java.lang.NegativeArraySizeException
            09/01/26 17:56:04 at oracle.spatial.router.engine.Node.readNode(Node.java:87)
            09/01/26 17:56:04 at oracle.spatial.router.engine.Partition.readPartition(Partition.java:86)
            09/01/26 17:56:04 at oracle.spatial.router.engine.PartitionCache.loadPartitionFromDatabase(PartitionCache.java:286)
            09/01/26 17:56:04 at oracle.spatial.router.engine.PartitionCache.obtainPartitionReference(PartitionCache.java:244)
            09/01/26 17:56:04 at oracle.spatial.router.engine.Network.<init>(Network.java:77)
            09/01/26 17:56:04 at oracle.spatial.router.server.RouteServerImplementation.<init>(RouteServerImplementation.java:136)
            09/01/26 17:56:04 at oracle.spatial.router.server.RouteServerServlet.init(RouteServerServlet.java:299)
            09/01/26 17:56:04 at com.evermind.server.http.HttpApplication.loadServlet(HttpApplication.java:2379)
            09/01/26 17:56:04 at com.evermind.server.http.HttpApplication.findServlet(HttpApplication.java:4830)
            09/01/26 17:56:04 at com.evermind.server.http.HttpApplication.findServlet(HttpApplication.java:4754)
            09/01/26 17:56:04 at com.evermind.server.http.HttpApplication.initPreloadServlets(HttpApplication.java:4942)
            09/01/26 17:56:04 at com.evermind.server.http.HttpApplication.initDynamic(HttpApplication.java:1144)
            09/01/26 17:56:04 at com.evermind.server.http.HttpApplication.<init>(HttpApplication.java:741)
            09/01/26 17:56:04 at com.evermind.server.ApplicationStateRunning.getHttpApplication(ApplicationStateRunning.java:431)
            09/01/26 17:56:04 at com.evermind.server.Application.getHttpApplication(Application.java:586)
            09/01/26 17:56:04 at com.evermind.server.http.HttpSite$HttpApplicationRunTimeReference.createHttpApplicationFromReference(HttpSite.java:1987)
            09/01/26 17:56:04 at com.evermind.server.http.HttpSite$HttpApplicationRunTimeReference.<init>(HttpSite.java:1906)
            09/01/26 17:56:04 at com.evermind.server.http.HttpSite.initApplications(HttpSite.java:643)
            09/01/26 17:56:04 at com.evermind.server.http.HttpSite.setConfig(HttpSite.java:290)
            09/01/26 17:56:04 at com.evermind.server.http.HttpServer.setSites(HttpServer.java:270)
            09/01/26 17:56:04 at com.evermind.server.http.HttpServer.setConfig(HttpServer.java:177)
            09/01/26 17:56:04 at com.evermind.server.ApplicationServer.initializeHttp(ApplicationServer.java:2493)
            09/01/26 17:56:04 at com.evermind.server.ApplicationServer.setConfig(ApplicationServer.java:1042)
            09/01/26 17:56:04 at com.evermind.server.ApplicationServerLauncher.run(ApplicationServerLauncher.java:131)
            09/01/26 17:56:04 at java.lang.Thread.run(Thread.java:595)
            09/01/26 17:56:04 Oracle Containers for J2EE 10g (10.1.3.4.0) initialized
            • 3. Re: Exception caught in RouteServerImplemenjava.lang.NegativeArraySizeException
              681095
              Well,

              When I started to try running routeserver, I was using "false" in <param-name>long_ids</param-name> (web.xml). When I tried to use "true", an OutOfMemoryError error was occuring. Now I know that "false" is wrong. So, I walked a bit more...

              The error now is:

              09/02/03 15:25:29.547 web: Error initializing servlet
              java.lang.OutOfMemoryError: Requested array size exceeds VM limit
                   at oracle.spatial.router.engine.NonBoundaryEdge.readNonBoundaryEdge(NonBoundaryEdge.java:74)
                   at oracle.spatial.router.engine.Partition.readPartition(Partition.java:103)
                   at oracle.spatial.router.engine.PartitionCache.loadPartitionFromDatabase(PartitionCache.java:286)
                   at oracle.spatial.router.engine.PartitionCache.obtainPartitionReference(PartitionCache.java:244)
                   at oracle.spatial.router.engine.Network.<init>(Network.java:77)
                   at oracle.spatial.router.server.RouteServerImplementation.<init>(RouteServerImplementation.java:136)
                   at oracle.spatial.router.server.RouteServerServlet.init(RouteServerServlet.java:299)
                   at com.evermind.server.http.HttpApplication.loadServlet(HttpApplication.java:2379)
                   at com.evermind.server.http.HttpApplication.findServlet(HttpApplication.java:4830)
                   at com.evermind.server.http.HttpApplication.findServlet(HttpApplication.java:4754)
                   at com.evermind.server.http.HttpApplication.initPreloadServlets(HttpApplication.java:4942)
                   at com.evermind.server.http.HttpApplication.initDynamic(HttpApplication.java:1144)
                   at com.evermind.server.http.HttpApplication.<init>(HttpApplication.java:741)
                   at com.evermind.server.ApplicationStateRunning.getHttpApplication(ApplicationStateRunning.java:431)
                   at com.evermind.server.Application.getHttpApplication(Application.java:586)
                   at com.evermind.server.http.HttpSite$HttpApplicationRunTimeReference.createHttpApplicationFromReference(HttpSite.java:1987)
                   at com.evermind.server.http.HttpSite$HttpApplicationRunTimeReference.<init>(HttpSite.java:1906)
                   at com.evermind.server.http.HttpSite.initApplications(HttpSite.java:643)
                   at com.evermind.server.http.HttpSite.setConfig(HttpSite.java:290)
                   at com.evermind.server.http.HttpServer.setSites(HttpServer.java:270)
                   at com.evermind.server.http.HttpServer.setConfig(HttpServer.java:177)
                   at com.evermind.server.ApplicationServer.initializeHttp(ApplicationServer.java:2493)
                   at com.evermind.server.ApplicationServer.setConfig(ApplicationServer.java:1042)
                   at com.evermind.server.ApplicationServerLauncher.run(ApplicationServerLauncher.java:131)
                   at java.lang.Thread.run(Thread.java:595)
              09/02/03 15:25:29.547 web: Error preloading servlet
              javax.servlet.ServletException: Error initializing servlet
                   at com.evermind.server.http.HttpApplication.findServlet(HttpApplication.java:4857)
                   at com.evermind.server.http.HttpApplication.findServlet(HttpApplication.java:4754)
                   at com.evermind.server.http.HttpApplication.initPreloadServlets(HttpApplication.java:4942)
                   at com.evermind.server.http.HttpApplication.initDynamic(HttpApplication.java:1144)
                   at com.evermind.server.http.HttpApplication.<init>(HttpApplication.java:741)
                   at com.evermind.server.ApplicationStateRunning.getHttpApplication(ApplicationStateRunning.java:431)
                   at com.evermind.server.Application.getHttpApplication(Application.java:586)
                   at com.evermind.server.http.HttpSite$HttpApplicationRunTimeReference.createHttpApplicationFromReference(HttpSite.java:1987)
                   at com.evermind.server.http.HttpSite$HttpApplicationRunTimeReference.<init>(HttpSite.java:1906)
                   at com.evermind.server.http.HttpSite.initApplications(HttpSite.java:643)
                   at com.evermind.server.http.HttpSite.setConfig(HttpSite.java:290)
                   at com.evermind.server.http.HttpServer.setSites(HttpServer.java:270)
                   at com.evermind.server.http.HttpServer.setConfig(HttpServer.java:177)
                   at com.evermind.server.ApplicationServer.initializeHttp(ApplicationServer.java:2493)
                   at com.evermind.server.ApplicationServer.setConfig(ApplicationServer.java:1042)
                   at com.evermind.server.ApplicationServerLauncher.run(ApplicationServerLauncher.java:131)
                   at java.lang.Thread.run(Thread.java:595)
              09/02/03 15:25:29.547 web: 10.1.3.4.0 Started


              I start OC4J with:

              C:\Java\jdk1.5.0_16\bin>java -server -Xms1024m -Xmx1024m -XX:NewSize=512m -XX:Max NewSize=512m -Dsun.rmi.dgc.server.gcInterval=3600000 -Dsun.rmi.dgc.client.gcInterval=3600000 -verbose:gc -jar c:\oc4j\j2eehome\oc4j.jar -config c:\oc4j\j2ee\home\config\server.xml

              My computer has 2 Gb of RAM, AMD Turion 64 Mobile 2.20 GHz

              Any ideas?

              Thanks a lot again!

              Regards,

              Daniel

              Edited by: user10788592 on 03/02/2009 09:32
              • 4. Re: Routeserver returns http500 and the RouteServer.log is always empty.Andnow?
                681095
                I changed to routeserver 11.1.0.7 and I don't have more this problem. Tks.