Dhnis Riedijk wrote:

> >Hello, All,
>
> >I met an error when I port my windows JNI to Linux. The jni run well on
> >Windows NT/95/98. I don't familiar with Linux platform I need your help.
>
> >Error is
>
> >FATAL ERROR in native method: try to unpin an object that is not pined.
>
> >I want to offenly what type of code could incur this error? What's your
> >suspects?
> >I would like provide more detailed information while needed.
>
> >Thanks in advance.
>
> >Gao Lei
>
> You really need to provide more info, maybe you could find out what piece of
> native code is causing this message ? I always use some printf("info 1\n");
> statements to find out where the error-message is triggered :-)
>
> Good Luck
> Dènis Riedijk

Hi, Denis, and all other developers,

Thanks your advice.  I believe I could know which method introduced(NextKey),
but I want know the exact reason. Also, the fucntion NextKey is provided by
another
product which we can hardly modified. So, I just want to know the exact reason
which part incur the error. Would you like give me some hints on how to locate
the
where erorr occurs?

If it is
1) due to JVM port of Linux, then I stop my work and wait for the new version.
2) due toThe third party code error, then I contact with the provider.
3) due to my JNI code error, then improve them.
4) due to my Java code(thread) error, then improve them.

Following are the error information:

FATAL ERROR in native method: Try to unpin an object that is not pinned
        at datares.CTreeInterface.NextKey(Native Method)
        at app.jmasserver.CTreeService.queryDatabase(Compiled Code)
        at app.jmasserver.JMassNetworkListener_S.transactMessage(Compiled Code)
        at app.AppNetworkListener_S.listen2network(Compiled Code)
        at tcpserver.NetworkListener_S.run(Compiled Code)
        at java.lang.Thread.run(Compiled Code)
SIGABRT   6*   abort (generated by abort(3) routine)
        stackpointer=0xbf1ff764

Full thread dump Classic VM (Linux_JDK_1.2_pre-release-v1, native threads):
    "Thread-3" (TID:0x406df380, sys_thread_t:0x8219c30, state:R, native ID:0x140

5) prio=5
        at datares.CTreeInterface.NextKey(Native Method)
        at app.jmasserver.CTreeService.queryDatabase(Compiled Code)
        at app.jmasserver.JMassNetworkListener_S.transactMessage(Compiled Code)
        at app.AppNetworkListener_S.listen2network(Compiled Code)
        at tcpserver.NetworkListener_S.run(Compiled Code)
        at java.lang.Thread.run(Compiled Code)
    "Thread-2" (TID:0x406deb90, sys_thread_t:0x81430c0, state:CW, native ID:0x40

0) prio=5
    "Thread-1" (TID:0x406d9ff8, sys_thread_t:0x82aed28, state:R, native ID:0x100

4) prio=5
        at java.net.PlainSocketImpl.socketAccept(Native Method)
        at java.net.PlainSocketImpl.accept(Compiled Code)
        at java.net.ServerSocket.implAccept(Compiled Code)
        at java.net.ServerSocket.accept(Compiled Code)
        at tcpserver.TCPServer.run(Compiled Code)
        at java.lang.Thread.run(Compiled Code)
    "Finalizer" (TID:0x406d2320, sys_thread_t:0x81c3358, state:CW, native ID:0xc

03) prio=8
        at java.lang.Object.wait(Native Method)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:112)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:127)
        at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:174)
    "Reference Handler" (TID:0x406d23b0, sys_thread_t:0x81beba0, state:CW, nativ

e ID:0x802) prio=10
        at java.lang.Object.wait(Native Method)
        at java.lang.Object.wait(Object.java:424)
        at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:114)
    "SIGQUIT handler" (TID:0x406d23e0, sys_thread_t:0x81b7628, state:R, native I

D:0x401) prio=5
Monitor Cache Dump:
    java.lang.ref.Reference$Lock@406D23C0/40707B20: <unowned>
        Waiting to be notified:
            "Reference Handler" (0x81beba0)
    java.lang.ref.ReferenceQueue$Lock@406D2338/40708028: <unowned>
        Waiting to be notified:
            "Finalizer" (0x81c3358)
    java.net.PlainSocketImpl@406D8D98/407590C8: owner "Thread-1" (0x82aed28) 1 e

ntry
Registered Monitor Dump:
    PCMap lock: <unowned>
    utf8 hash table: <unowned>
    JNI pinning lock: owner "Thread-3" (0x8219c30) 1 entry
    JNI global reference lock: <unowned>
    BinClass lock: <unowned>
    Class linking lock: <unowned>
    System class loader lock: <unowned>
    Code rewrite lock: <unowned>
    Heap lock: <unowned>
    Monitor cache lock: owner "Thread-3" (0x8219c30) 1 entry
    Thread queue lock: owner "Thread-3" (0x8219c30) 1 entry
        Waiting to be notified:
            "Thread-2" (0x81430c0)
    Dynamic loading lock: <unowned>
    Monitor registry: owner "Thread-3" (0x8219c30) 1 entry


Thanks anyway.

Gao Lei.



Reply via email to