Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.tools -> ApacheJServ + Oracle OCI - Strange behavior

ApacheJServ + Oracle OCI - Strange behavior

From: Igor N. Kolomiyets <inksystems_at_yahoo.com>
Date: 2000/01/31
Message-ID: <i35l4.4498$4f5.1172642@tw12.nn.bcandid.com>

Hi everybody,

Environment: Oracle8i 8.1.5.0.1 on RedHat 6.0 Apache 3.1.11 (3.1.9 the same) with ApacheJServ/1.0

Servlet creates connection to database and also creates some PreparedStatements in init method, and then in doGet or doPost passes parameters to PreparedStatement and tries to fetch results. The problem is that doGet and doPost failed when connection made with OCI driver. With Thin driver everything's ok.

Error log contains the following:

SIGSEGV 11* segmentation violation

        stackbase=0x41480000, stackpointer=0x4147fb5c

Full thread dump:

"Thread-10" (TID:0x406da3e8, sys_thread_t:0x4147fe0c, state:R) prio=5
*current thread*

        oracle.jdbc.oci8.OCIDBAccess.logon(OCIDBAccess.java)
        oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java)

oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java)
        oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java)
        java.sql.DriverManager.getConnection(DriverManager.java:91)
        java.sql.DriverManager.getConnection(DriverManager.java:134)
        INKSystems.v2.index.init(index.java:26)

org.apache.jserv.JServServletManager.load_init(JServServletManager.java:478)

org.apache.jserv.JServServletManager.loadServlet(JServServletManager.java:39 7)

org.apache.jserv.JServServletManager.loadStartupServlets(JServServletManager .java:512)

org.apache.jserv.JServServletManager.init(JServServletManager.java:296)

org.apache.jserv.JServServletManager.checkReload(JServServletManager.java:33 4)

org.apache.jserv.JServConnection.processRequest(JServConnection.java:276)

        org.apache.jserv.JServConnection.run(JServConnection.java:197)
        java.lang.Thread.run(Thread.java)

"Thread-9" (TID:0x406da298, sys_thread_t:0x4199de0c, state:CW) prio=5

org.apache.jserv.JServServletManager.run(JServServletManager.java:849)

        java.lang.Thread.run(Thread.java)
"Thread-8" (TID:0x406d5990, sys_thread_t:0x414e2e0c, state:CW) prio=5

org.apache.jserv.JServServletManager.run(JServServletManager.java:849)

        java.lang.Thread.run(Thread.java)
"GarbageCollector" (TID:0x406ce640, sys_thread_t:0x414c1e0c, state:CW)
prio=5

com.visigenic.vbroker.orb.GarbageCollector.run(GarbageCollector.java:64)

"AreYouAlive" (TID:0x406ce400, sys_thread_t:0x414a0e0c, state:CW) prio=5

        com.visigenic.vbroker.ds.DSUser$AreYouAlive.run(DSUser.java:65)
"Thread-4" (TID:0x406c8820, sys_thread_t:0x41438e0c, state:CW) prio=1

        java.lang.Object.wait(Object.java)
        org.apache.java.util.SimpleQueue.waitObject(SimpleQueue.java:117)
        org.apache.java.io.LogWriter$Agent.run(LogWriter.java:415)

"Finalizer thread" (TID:0x406bc208, sys_thread_t:0x41400e0c, state:CW)
prio=1

"Async Garbage Collector" (TID:0x406bc250, sys_thread_t:0x413dfe0c,
state:CW) prio=1

"Idle thread" (TID:0x406bc298, sys_thread_t:0x413bee0c, state:R) prio=0
"Clock" (TID:0x406bc088, sys_thread_t:0x4139de0c, state:CW) prio=12
"main" (TID:0x406bc0b0, sys_thread_t:0x81b5b68, state:CW) prio=5

        java.net.PlainSocketImpl.accept(PlainSocketImpl.java:387)
        java.net.ServerSocket.implAccept(ServerSocket.java:206)
        java.net.ServerSocket.accept(ServerSocket.java:189)

org.apache.java.net.AuthenticatedServerSocket.accept(AuthenticatedServerSock et.java:142)

        org.apache.jserv.JServ.main(JServ.java:158) Monitor Cache Dump:

    java.lang.Class_at_1080917120/1081348272: owner "Thread-10" (0x4147fe0c, 2 entries)

    org.apache.jserv.JServServletManager_at_1080907944/1081337064: owner "Thread-10" (0x4147fe0c, 3 entries)

    <unknown key> (0x0x413dfe0c): <unowned>

        Waiting to be notified:
            "Async Garbage Collector" (0x413dfe0c)
    <unknown key> (0x0x4199de0c): <unowned>
        Waiting to be notified:
            "Thread-9" (0x4199de0c)

    java.net.PlainSocketImpl_at_1080856048/1081258224: owner "main" (0x81b5b68, 1 entry)

    oracle.jdbc.oci8.OCIDBAccess_at_1080957240/1081814568: owner "Thread-10" (0x4147fe0c, 1 entry)

    com.visigenic.vbroker.ds.DSUser$AreYouAlive_at_1080878080/1081317736: <unowned>

        Waiting to be notified:
            "AreYouAlive" (0x414a0e0c)

    com.visigenic.vbroker.orb.GarbageCollector_at_1080878656/1081321280: <unowned>
        Waiting to be notified:
            "GarbageCollector" (0x414c1e0c)
    org.apache.java.util.SimpleQueue_at_1080829624/1081181360: <unowned>
        Waiting to be notified:
            "Thread-4" (0x41438e0c)
    <unknown key> (0x0x414e2e0c): <unowned>
        Waiting to be notified:
            "Thread-8" (0x414e2e0c)

Registered Monitor Dump:

    Verifier lock: <unowned>
    Thread queue lock: <unowned>
    Name and type hash table lock: <unowned>     String intern lock: <unowned>
    JNI pinning lock: <unowned>
    JNI global reference lock: <unowned>     BinClass lock: <unowned>
    Class loading lock: <unowned>
    Java stack lock: <unowned>
    Code rewrite lock: <unowned>
    Heap lock: <unowned>
    Has finalization queue lock: <unowned>     Finalize me queue lock: <unowned>

        Waiting to be notified:
            "Finalizer thread" (0x41400e0c)
    Monitor IO lock: <unowned>
    Child death monitor: <unowned>
    Event monitor: <unowned>
    I/O monitor: <unowned>
    Alarm monitor: <unowned>
        Waiting to be notified:
            "Clock" (0x4139de0c)

    Monitor registry: owner "Thread-10" (0x4147fe0c, 1 entry) Thread Alarm Q:
    sys_thread_t 0x413dfe0c   [Timeout in 290 ms]
    sys_thread_t 0x414a0e0c   [Timeout in 722 ms]
    sys_thread_t 0x4199de0c   [Timeout in 19612 ms]
    sys_thread_t 0x414c1e0c   [Timeout in 26224 ms]
    sys_thread_t 0x414e2e0c   [Timeout in 26932 ms]
[Sun Jan 30 20:34:40 2000] [error] [client 10.1.1.5] Premature end of script headers: /v2/index

After i change driver to Thin one without Apache restart it starts work.

But the most strange thing is that after i change the driver back to OCI it doesn't fail anymore. It obviously uses OCI driver after these steps.

Please, if someone had same experience tell me what's wrong.

Regards,
Igor. Received on Mon Jan 31 2000 - 00:00:00 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US