Skip to content

Instantly share code, notes, and snippets.

@robinp
Created January 7, 2011 16:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save robinp/769657 to your computer and use it in GitHub Desktop.
Save robinp/769657 to your computer and use it in GitHub Desktop.
jzmq-crash
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0xb3b9d377, pid=17656, tid=3019443088
#
# JRE version: 6.0_22-b04
# Java VM: Java HotSpot(TM) Client VM (17.1-b03 mixed mode, sharing linux-x86 )
# Problematic frame:
# C [libjzmq.so.0.0.0+0x3377] Java_org_zeromq_ZMQ_00024Poller_run_1poll+0x29d
#
# If you would like to submit a bug report, please visit:
# http://java.sun.com/webapps/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
--------------- T H R E A D ---------------
Current thread (0xb4668800): JavaThread "AWT-EventQueue-0" [_thread_in_native, id=17671, stack(0xb3f40000,0xb3f91000)]
siginfo:si_signo=SIGSEGV: si_errno=0, si_code=2 (SEGV_ACCERR), si_addr=0xb46f100a <---- eax+10, guard page access
Registers:
EAX=0xb46f1000, EBX=0xb3b9f438, ECX=0xb46c20e4, EDX=0x0000000a <------- eax points to guard page
ESP=0xb3f8fbf0, EBP=0xb3f8fc58, ESI=0x8f692c58, EDI=0xb4668800
EIP=0xb3b9d377, CR2=0xb46f100a, EFLAGS=0x00010296
Top of Stack: (sp=0xb3f8fbf0)
0xb3f8fbf0: b4668918 b3f8fcbc 00000000 00000000
0xb3f8fc00: 84af4e78 00000005 00000000 00000000
0xb3f8fc10: b460244e b4668800 00000001 00000020
0xb3f8fc20: 00000020 00000020 b46f0f88 000a8e64
0xb3f8fc30: 00000001 b46c20d0 00000020 00000000
0xb3f8fc40: b46c5270 00000000 b46c20d0 0000000a
0xb3f8fc50: 00000000 8f692c58 b3f8fca4 b4bde05d
0xb3f8fc60: b4668918 b3f8fccc 00000001 b3f8fcc4
Instructions: (pc=0xb3b9d377)
0xb3b9d367: 0f bf 55 d6 89 d0 01 c0 01 d0 c1 e0 02 03 45 d0
0xb3b9d377: 0f b7 40 0a 66 89 01 66 83 45 d6 01 83 45 f4 01
Stack: [0xb3f40000,0xb3f91000], sp=0xb3f8fbf0, free space=13eb3f8f570k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C [libjzmq.so.0.0.0+0x3377] Java_org_zeromq_ZMQ_00024Poller_run_1poll+0x29d <---- happened here
j org.zeromq.ZMQ$Poller.run_poll(I[Lorg/zeromq/ZMQ$Socket;[S[SJ)J+0
j org.zeromq.ZMQ$Poller.poll()J+60
j com.mnn.net.Gateway$Fw.dispatch()Z+4
j com.mnn.net.test.NetTestGUI$14.actionPerformed(Ljava/awt/event/ActionEvent;)V+7
j javax.swing.Timer.fireActionPerformed(Ljava/awt/event/ActionEvent;)V+35
j javax.swing.Timer$DoPostEvent.run()V+71
j java.awt.event.InvocationEvent.dispatch()V+47
j java.awt.EventQueue.dispatchEvent(Ljava/awt/AWTEvent;)V+26
j java.awt.EventDispatchThread.pumpOneEventForFilters(I)Z+204
j java.awt.EventDispatchThread.pumpEventsForFilter(ILjava/awt/Conditional;Ljava/awt/EventFilter;)V+30
j java.awt.EventDispatchThread.pumpEventsForHierarchy(ILjava/awt/Conditional;Ljava/awt/Component;)V+11
j java.awt.EventDispatchThread.pumpEvents(ILjava/awt/Conditional;)V+4
j java.awt.EventDispatchThread.pumpEvents(Ljava/awt/Conditional;)V+3
j java.awt.EventDispatchThread.run()V+9
v ~StubRoutines::call_stub
V [libjvm.so+0x2287b0]
V [libjvm.so+0x356bc8]
V [libjvm.so+0x227fb7]
V [libjvm.so+0x22806a]
V [libjvm.so+0x2a87f5]
V [libjvm.so+0x3fde8e]
V [libjvm.so+0x3580be]
C [libpthread.so.0+0x64c0]
Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j org.zeromq.ZMQ$Poller.run_poll(I[Lorg/zeromq/ZMQ$Socket;[S[SJ)J+0
j org.zeromq.ZMQ$Poller.poll()J+60
j com.mnn.net.Gateway$Fw.dispatch()Z+4
j com.mnn.net.test.NetTestGUI$14.actionPerformed(Ljava/awt/event/ActionEvent;)V+7
j javax.swing.Timer.fireActionPerformed(Ljava/awt/event/ActionEvent;)V+35
j javax.swing.Timer$DoPostEvent.run()V+71
j java.awt.event.InvocationEvent.dispatch()V+47
j java.awt.EventQueue.dispatchEvent(Ljava/awt/AWTEvent;)V+26
j java.awt.EventDispatchThread.pumpOneEventForFilters(I)Z+204
j java.awt.EventDispatchThread.pumpEventsForFilter(ILjava/awt/Conditional;Ljava/awt/EventFilter;)V+30
j java.awt.EventDispatchThread.pumpEventsForHierarchy(ILjava/awt/Conditional;Ljava/awt/Component;)V+11
j java.awt.EventDispatchThread.pumpEvents(ILjava/awt/Conditional;)V+4
j java.awt.EventDispatchThread.pumpEvents(Ljava/awt/Conditional;)V+3
j java.awt.EventDispatchThread.run()V+9
v ~StubRoutines::call_stub
--------------- P R O C E S S ---------------
Java Threads: ( => current thread )
0xb4696000 JavaThread "TimerQueue" daemon [_thread_blocked, id=17673, stack(0xb3e8a000,0xb3edb000)]
0xb4673800 JavaThread "Image Fetcher 0" daemon [_thread_blocked, id=17672, stack(0xb3eef000,0xb3f40000)]
0xb4669c00 JavaThread "DestroyJavaVM" [_thread_blocked, id=17657, stack(0xb6c69000,0xb6cba000)]
=>0xb4668800 JavaThread "AWT-EventQueue-0" [_thread_in_native, id=17671, stack(0xb3f40000,0xb3f91000)]
0xb4666c00 JavaThread "AWT-Shutdown" [_thread_blocked, id=17670, stack(0xb3f91000,0xb3fe2000)]
0xb4666000 JavaThread "AWT-XAWT" daemon [_thread_in_native, id=17669, stack(0xb3fe2000,0xb4033000)]
0xb4642000 JavaThread "Java2D Disposer" daemon [_thread_blocked, id=17668, stack(0xb404a000,0xb409b000)]
0xb4603c00 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=17666, stack(0xb472b000,0xb477c000)]
0x085c3400 JavaThread "CompilerThread0" daemon [_thread_blocked, id=17665, stack(0xb457f000,0xb4600000)]
0x085c1c00 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=17664, stack(0xb477c000,0xb47cd000)]
0x085bd400 JavaThread "Finalizer" daemon [_thread_blocked, id=17663, stack(0xb4907000,0xb4958000)]
0x085bbc00 JavaThread "Reference Handler" daemon [_thread_blocked, id=17662, stack(0xb4958000,0xb49a9000)]
Other Threads:
0x085ba400 VMThread [stack: 0xb49a9000,0xb4a2a000] [id=17661]
0xb4606000 WatcherThread [stack: 0xb44fe000,0xb457f000] [id=17667]
VM state:not at safepoint (normal execution)
VM Mutex/Monitor currently owned by a thread: None
Heap
def new generation total 4928K, used 3059K [0x7f560000, 0x7fab0000, 0x84ab0000)
eden space 4416K, 58% used [0x7f560000, 0x7f7ea340, 0x7f9b0000)
from space 512K, 89% used [0x7f9b0000, 0x7fa22c28, 0x7fa30000)
to space 512K, 0% used [0x7fa30000, 0x7fa30000, 0x7fab0000)
tenured generation total 10944K, used 783K [0x84ab0000, 0x85560000, 0x8f560000)
the space 10944K, 7% used [0x84ab0000, 0x84b73e10, 0x84b74000, 0x85560000)
compacting perm gen total 12288K, used 3596K [0x8f560000, 0x90160000, 0x93560000)
the space 12288K, 29% used [0x8f560000, 0x8f8e30e8, 0x8f8e3200, 0x90160000)
ro space 10240K, 61% used [0x93560000, 0x93b87500, 0x93b87600, 0x93f60000)
rw space 12288K, 60% used [0x93f60000, 0x946976f8, 0x94697800, 0x94b60000)
Dynamic libraries:
08048000-08052000 r-xp 00000000 08:01 379118 /home/debian/jdk1.6.0_22/jre/bin/java
08052000-08053000 rwxp 00009000 08:01 379118 /home/debian/jdk1.6.0_22/jre/bin/java
08591000-0868a000 rwxp 00000000 00:00 0 [heap]
7f560000-7fab0000 rwxp 00000000 00:00 0
7fab0000-84ab0000 rwxp 00000000 00:00 0
84ab0000-85560000 rwxp 00000000 00:00 0
85560000-8f560000 rwxp 00000000 00:00 0
8f560000-90160000 rwxp 00000000 00:00 0
90160000-93560000 rwxp 00000000 00:00 0
93560000-93b88000 r-xs 00001000 08:01 485382 /home/debian/jdk1.6.0_22/jre/lib/i386/client/classes.jsa
93b88000-93f60000 rwxp 00000000 00:00 0
93f60000-94698000 rwxp 00629000 08:01 485382 /home/debian/jdk1.6.0_22/jre/lib/i386/client/classes.jsa
94698000-94b60000 rwxp 00000000 00:00 0
94b60000-94c41000 rwxp 00d61000 08:01 485382 /home/debian/jdk1.6.0_22/jre/lib/i386/client/classes.jsa
94c41000-94f60000 rwxp 00000000 00:00 0
94f60000-94f68000 r-xs 00e42000 08:01 485382 /home/debian/jdk1.6.0_22/jre/lib/i386/client/classes.jsa
94f68000-95360000 rwxp 00000000 00:00 0
b3111000-b3112000 ---p 00000000 00:00 0
b3112000-b3912000 rwxp 00000000 00:00 0
b3912000-b39f5000 r-xp 00000000 08:01 1111295 /usr/lib/libstdc++.so.6.0.10
b39f5000-b39f8000 r-xp 000e2000 08:01 1111295 /usr/lib/libstdc++.so.6.0.10
b39f8000-b39fa000 rwxp 000e5000 08:01 1111295 /usr/lib/libstdc++.so.6.0.10
b39fa000-b3a00000 rwxp 00000000 00:00 0
b3a00000-b3a47000 rwxp 00000000 00:00 0
b3a47000-b3b00000 ---p 00000000 00:00 0
b3b37000-b3b3a000 r-xp 00000000 08:01 824244 /lib/libuuid.so.1.2
b3b3a000-b3b3b000 rwxp 00002000 08:01 824244 /lib/libuuid.so.1.2
b3b3b000-b3b47000 r-xp 00000000 08:01 824224 /lib/libgcc_s.so.1
b3b47000-b3b48000 rwxp 0000b000 08:01 824224 /lib/libgcc_s.so.1
b3b48000-b3b85000 r-xp 00000000 08:01 832446 /usr/local/lib/libzmq.so.0.0.0
b3b85000-b3b87000 rwxp 0003d000 08:01 832446 /usr/local/lib/libzmq.so.0.0.0
b3b9a000-b3b9f000 r-xp 00000000 08:01 832465 /usr/local/lib/libjzmq.so.0.0.0
b3b9f000-b3ba0000 rwxp 00004000 08:01 832465 /usr/local/lib/libjzmq.so.0.0.0
b3ba0000-b3e8a000 rwxs 00000000 00:04 281772097 /SYSV00000000 (deleted)
b3e8a000-b3e8d000 ---p 00000000 00:00 0
b3e8d000-b3edb000 rwxp 00000000 00:00 0
b3edb000-b3eee000 r-xp 00000000 08:01 435527 /home/debian/jdk1.6.0_22/jre/lib/i386/libnet.so
b3eee000-b3eef000 rwxp 00013000 08:01 435527 /home/debian/jdk1.6.0_22/jre/lib/i386/libnet.so
b3eef000-b3ef2000 ---p 00000000 00:00 0
b3ef2000-b3f40000 rwxp 00000000 00:00 0
b3f40000-b3f43000 ---p 00000000 00:00 0
b3f43000-b3f91000 rwxp 00000000 00:00 0
b3f91000-b3f94000 ---p 00000000 00:00 0
b3f94000-b3fe2000 rwxp 00000000 00:00 0
b3fe2000-b3fe5000 ---p 00000000 00:00 0
b3fe5000-b4033000 rwxp 00000000 00:00 0
b4033000-b4037000 r-xp 00000000 08:01 1114605 /usr/lib/libXfixes.so.3.1.0
b4037000-b4038000 rwxp 00003000 08:01 1114605 /usr/lib/libXfixes.so.3.1.0
b4038000-b4040000 r-xp 00000000 08:01 1114739 /usr/lib/libXrender.so.1.3.0
b4040000-b4041000 rwxp 00007000 08:01 1114739 /usr/lib/libXrender.so.1.3.0
b4041000-b4049000 r-xp 00000000 08:01 1114741 /usr/lib/libXcursor.so.1.0.2
b4049000-b404a000 rwxp 00007000 08:01 1114741 /usr/lib/libXcursor.so.1.0.2
b404a000-b404d000 ---p 00000000 00:00 0
b404d000-b409b000 rwxp 00000000 00:00 0
b409b000-b4114000 r-xp 00000000 08:01 435540 /home/debian/jdk1.6.0_22/jre/lib/i386/libfontmanager.so
b4114000-b411e000 rwxp 00078000 08:01 435540 /home/debian/jdk1.6.0_22/jre/lib/i386/libfontmanager.so
b411e000-b4123000 rwxp 00000000 00:00 0
b4123000-b4127000 r-xp 00000000 08:01 1114597 /usr/lib/libXdmcp.so.6.0.0
b4127000-b4128000 rwxp 00003000 08:01 1114597 /usr/lib/libXdmcp.so.6.0.0
b4128000-b413f000 r-xp 00000000 08:01 1101906 /usr/lib/libxcb.so.1.0.0
b413f000-b4140000 rwxp 00017000 08:01 1101906 /usr/lib/libxcb.so.1.0.0
b4140000-b422b000 r-xp 00000000 08:01 1114603 /usr/lib/libX11.so.6.2.0
b422b000-b422f000 rwxp 000ea000 08:01 1114603 /usr/lib/libX11.so.6.2.0
b422f000-b4272000 r-xp 00000000 08:01 538755 /home/debian/jdk1.6.0_22/jre/lib/i386/xawt/libmawt.so
b4272000-b4274000 rwxp 00043000 08:01 538755 /home/debian/jdk1.6.0_22/jre/lib/i386/xawt/libmawt.so
b4274000-b4275000 rwxp 00000000 00:00 0
b4275000-b42f9000 r-xp 00000000 08:01 435538 /home/debian/jdk1.6.0_22/jre/lib/i386/libawt.so
b42f9000-b4300000 rwxp 00084000 08:01 435538 /home/debian/jdk1.6.0_22/jre/lib/i386/libawt.so
b4300000-b4324000 rwxp 00000000 00:00 0
b4324000-b432d000 r-xs 00075000 08:01 378920 /home/debian/dev/mnn/thirdparty/jar/jgraphx.jar
b432d000-b4332000 r-xs 0004c000 08:01 379247 /home/debian/dev/mnn/thirdparty/jar/protobuf-java-2.3.0.jar
b4332000-b4333000 r-xs 00001000 08:01 379246 /home/debian/dev/mnn/thirdparty/jar/jzmq-2.0.10.jar
b4333000-b4366000 rwxp 00000000 00:00 0
b4366000-b44fe000 r-xs 03013000 08:01 436892 /home/debian/jdk1.6.0_22/jre/lib/rt.jar
b44fe000-b44ff000 ---p 00000000 00:00 0
b44ff000-b457f000 rwxp 00000000 00:00 0
b457f000-b4582000 ---p 00000000 00:00 0
b4582000-b4600000 rwxp 00000000 00:00 0
b4600000-b46f1000 rwxp 00000000 00:00 0
b46f1000-b4700000 ---p 00000000 00:00 0 <---- guard
b4702000-b4709000 r-xp 00000000 08:01 1085291 /usr/lib/libXi.so.6.0.0
b4709000-b470a000 rwxp 00007000 08:01 1085291 /usr/lib/libXi.so.6.0.0
b470a000-b4717000 r-xp 00000000 08:01 1102155 /usr/lib/libXext.so.6.4.0
b4717000-b4718000 rwxp 0000d000 08:01 1102155 /usr/lib/libXext.so.6.4.0
b471b000-b4722000 r-xp 00000000 08:01 435528 /home/debian/jdk1.6.0_22/jre/lib/i386/libnio.so
b4722000-b4723000 rwxp 00006000 08:01 435528 /home/debian/jdk1.6.0_22/jre/lib/i386/libnio.so
b4723000-b472b000 r-xs 00115000 08:01 435571 /home/debian/jdk1.6.0_22/jre/lib/resources.jar
b472b000-b472e000 ---p 00000000 00:00 0
b472e000-b477c000 rwxp 00000000 00:00 0
b477c000-b477f000 ---p 00000000 00:00 0
b477f000-b47cd000 rwxp 00000000 00:00 0
b47cd000-b4907000 r-xp 00000000 08:01 1127343 /usr/lib/locale/locale-archive
b4907000-b490a000 ---p 00000000 00:00 0
b490a000-b4958000 rwxp 00000000 00:00 0
b4958000-b495b000 ---p 00000000 00:00 0
b495b000-b49a9000 rwxp 00000000 00:00 0
b49a9000-b49aa000 ---p 00000000 00:00 0
b49aa000-b4a38000 rwxp 00000000 00:00 0
b4a38000-b4a52000 rwxp 00000000 00:00 0
b4a52000-b4a58000 rwxp 00000000 00:00 0
b4a58000-b4aa8000 rwxp 00000000 00:00 0
b4aa8000-b4aab000 rwxp 00000000 00:00 0
b4aab000-b4ad2000 rwxp 00000000 00:00 0
b4ad2000-b4ad8000 rwxp 00000000 00:00 0
b4ad8000-b4b28000 rwxp 00000000 00:00 0
b4b28000-b4b2e000 rwxp 00000000 00:00 0
b4b2e000-b4b48000 rwxp 00000000 00:00 0
b4b48000-b4b58000 rwxp 00000000 00:00 0
b4b58000-b4bd4000 rwxp 00000000 00:00 0
b4bd4000-b4c9c000 rwxp 00000000 00:00 0
b4c9c000-b6bd4000 rwxp 00000000 00:00 0
b6bd4000-b6be3000 r-xp 00000000 08:01 435523 /home/debian/jdk1.6.0_22/jre/lib/i386/libzip.so
b6be3000-b6be5000 rwxp 0000e000 08:01 435523 /home/debian/jdk1.6.0_22/jre/lib/i386/libzip.so
b6be5000-b6bef000 r-xp 00000000 08:01 833398 /lib/i686/cmov/libnss_files-2.7.so
b6bef000-b6bf1000 rwxp 00009000 08:01 833398 /lib/i686/cmov/libnss_files-2.7.so
b6bf1000-b6bfa000 r-xp 00000000 08:01 833400 /lib/i686/cmov/libnss_nis-2.7.so
b6bfa000-b6bfc000 rwxp 00008000 08:01 833400 /lib/i686/cmov/libnss_nis-2.7.so
b6bfc000-b6c00000 r-xp 00000000 08:01 1085295 /usr/lib/libXtst.so.6.1.0
b6c00000-b6c01000 rwxp 00003000 08:01 1085295 /usr/lib/libXtst.so.6.1.0
b6c01000-b6c07000 rwxp 00000000 00:00 0
b6c07000-b6c0f000 rwxs 00000000 08:01 648660 /tmp/hsperfdata_debian/17656
b6c0f000-b6c24000 r-xp 00000000 08:01 833395 /lib/i686/cmov/libnsl-2.7.so
b6c24000-b6c26000 rwxp 00014000 08:01 833395 /lib/i686/cmov/libnsl-2.7.so
b6c26000-b6c28000 rwxp 00000000 00:00 0
b6c28000-b6c2a000 r-xp 00000000 08:01 1114595 /usr/lib/libXau.so.6.0.0
b6c2a000-b6c2b000 rwxp 00001000 08:01 1114595 /usr/lib/libXau.so.6.0.0
b6c2b000-b6c32000 r-xp 00000000 08:01 833396 /lib/i686/cmov/libnss_compat-2.7.so
b6c32000-b6c34000 rwxp 00006000 08:01 833396 /lib/i686/cmov/libnss_compat-2.7.so
b6c34000-b6c3a000 r-xp 00000000 08:01 435511 /home/debian/jdk1.6.0_22/jre/lib/i386/native_threads/libhpi.so
b6c3a000-b6c3b000 rwxp 00006000 08:01 435511 /home/debian/jdk1.6.0_22/jre/lib/i386/native_threads/libhpi.so
b6c3b000-b6c5e000 r-xp 00000000 08:01 435521 /home/debian/jdk1.6.0_22/jre/lib/i386/libjava.so
b6c5e000-b6c60000 rwxp 00023000 08:01 435521 /home/debian/jdk1.6.0_22/jre/lib/i386/libjava.so
b6c60000-b6c67000 r-xp 00000000 08:01 833405 /lib/i686/cmov/librt-2.7.so
b6c67000-b6c69000 rwxp 00006000 08:01 833405 /lib/i686/cmov/librt-2.7.so
b6c69000-b6c6c000 ---p 00000000 00:00 0
b6c6c000-b6cba000 rwxp 00000000 00:00 0
b6cba000-b6cde000 r-xp 00000000 08:01 833393 /lib/i686/cmov/libm-2.7.so
b6cde000-b6ce0000 rwxp 00023000 08:01 833393 /lib/i686/cmov/libm-2.7.so
b6ce0000-b717e000 r-xp 00000000 08:01 485379 /home/debian/jdk1.6.0_22/jre/lib/i386/client/libjvm.so
b717e000-b71a1000 rwxp 0049e000 08:01 485379 /home/debian/jdk1.6.0_22/jre/lib/i386/client/libjvm.so
b71a1000-b75bf000 rwxp 00000000 00:00 0
b75bf000-b7714000 r-xp 00000000 08:01 833389 /lib/i686/cmov/libc-2.7.so
b7714000-b7715000 r-xp 00155000 08:01 833389 /lib/i686/cmov/libc-2.7.so
b7715000-b7717000 rwxp 00156000 08:01 833389 /lib/i686/cmov/libc-2.7.so
b7717000-b771a000 rwxp 00000000 00:00 0
b771a000-b771c000 r-xp 00000000 08:01 833392 /lib/i686/cmov/libdl-2.7.so
b771c000-b771e000 rwxp 00001000 08:01 833392 /lib/i686/cmov/libdl-2.7.so
b771e000-b7725000 r-xp 00000000 08:01 538753 /home/debian/jdk1.6.0_22/jre/lib/i386/jli/libjli.so
b7725000-b7727000 rwxp 00006000 08:01 538753 /home/debian/jdk1.6.0_22/jre/lib/i386/jli/libjli.so
b7727000-b7728000 rwxp 00000000 00:00 0
b7728000-b773d000 r-xp 00000000 08:01 833403 /lib/i686/cmov/libpthread-2.7.so
b773d000-b773f000 rwxp 00014000 08:01 833403 /lib/i686/cmov/libpthread-2.7.so
b773f000-b7741000 rwxp 00000000 00:00 0
b7741000-b7742000 r-xp 00000000 08:01 1101908 /usr/lib/libxcb-xlib.so.0.0.0
b7742000-b7743000 rwxp 00000000 08:01 1101908 /usr/lib/libxcb-xlib.so.0.0.0
b7743000-b7745000 r-xs 00023000 08:01 387502 /home/debian/dev/mnn/mnn/jclimsg/dist/jclimsg.jar
b7745000-b7746000 r-xs 0001c000 08:01 261324 /home/debian/netbeans-6.8/platform11/modules/ext/swing-layout-1.0.4.jar
b7746000-b7747000 rwxp 00000000 00:00 0
b7747000-b7748000 r-xp 00000000 00:00 0
b7748000-b7753000 r-xp 00000000 08:01 435520 /home/debian/jdk1.6.0_22/jre/lib/i386/libverify.so
b7753000-b7754000 rwxp 0000b000 08:01 435520 /home/debian/jdk1.6.0_22/jre/lib/i386/libverify.so
b7754000-b7756000 rwxp 00000000 00:00 0
b7756000-b7757000 r-xp 00000000 00:00 0 [vdso]
b7757000-b7771000 r-xp 00000000 08:01 824174 /lib/ld-2.7.so
b7771000-b7773000 rwxp 0001a000 08:01 824174 /lib/ld-2.7.so
bfa64000-bfa79000 rwxp 00000000 00:00 0 [stack]
VM Arguments:
jvm_args: -Dfile.encoding=UTF-8 -Djava.library.path=/usr/local/lib -ea
java_command: com.mnn.net.test.NetTestGUI
Launcher Type: SUN_STANDARD
Environment Variables:
PATH=/home/debian/bin:/home/debian/jdk1.6.0_22/bin:/home/debian/dev/flex/bin:/usr/bin/:/home/debian/scala-2.8.0.final/bin:/home/debian/scala-2.8.0.final/bin:/usr/local/bin:/usr/bin:/bin:/usr/games
USERNAME=debian
LD_LIBRARY_PATH=/home/debian/jdk1.6.0_22/jre/lib/i386/client:/home/debian/jdk1.6.0_22/jre/lib/i386:/home/debian/jdk1.6.0_22/jre/../lib/i386
SHELL=/bin/bash
DISPLAY=:0.0
Signal Handlers:
SIGSEGV: [libjvm.so+0x430320], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
SIGBUS: [libjvm.so+0x430320], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
SIGFPE: [libjvm.so+0x3559a0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
SIGPIPE: [libjvm.so+0x3559a0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
SIGXFSZ: [libjvm.so+0x3559a0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
SIGILL: [libjvm.so+0x3559a0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
SIGUSR1: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000
SIGUSR2: [libjvm.so+0x3585e0], sa_mask[0]=0x00000004, sa_flags=0x10000004
SIGHUP: [libjvm.so+0x358310], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
SIGINT: SIG_IGN, sa_mask[0]=0x00000000, sa_flags=0x00000000
SIGTERM: [libjvm.so+0x358310], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
SIGQUIT: [libjvm.so+0x358310], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
--------------- S Y S T E M ---------------
OS:5.0.1
uname:Linux 2.6.32-bpo.5-686 #1 SMP Wed Dec 1 20:32:28 UTC 2010 i686
libc:glibc 2.7 NPTL 2.7
rlimit: STACK 8192k, CORE 0k, NPROC 12620, NOFILE 1024, AS infinity
load average:0.05 0.10 0.03
CPU:total 2 (2 cores per cpu, 1 threads per core) family 6 model 37 stepping 2, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3
Memory: 4k page, physical 1622652k(54504k free), swap 746980k(746588k free)
vm_info: Java HotSpot(TM) Client VM (17.1-b03) for linux-x86 JRE (1.6.0_22-b04), built on Sep 15 2010 01:20:09 by "java_re" with gcc 3.2.1-7a (J2SE release)
time: Fri Jan 7 10:43:28 2011
elapsed time: 2 seconds
000030da <Java_org_zeromq_ZMQ_00024Poller_run_1poll>:
30da: 55 push ebp
30db: 89 e5 mov ebp,esp
30dd: 53 push ebx
30de: 83 ec 64 sub esp,0x64
30e1: e8 01 ea ff ff call 1ae7 <__i686.get_pc_thunk.bx>
30e6: 81 c3 52 23 00 00 add ebx,0x2352
30ec: 8b 45 20 mov eax,DWORD PTR [ebp+0x20]
30ef: 89 45 b0 mov DWORD PTR [ebp-0x50],eax
30f2: 8b 45 24 mov eax,DWORD PTR [ebp+0x24]
30f5: 89 45 b4 mov DWORD PTR [ebp-0x4c],eax
30f8: 8b 45 10 mov eax,DWORD PTR [ebp+0x10]
30fb: 89 45 c0 mov DWORD PTR [ebp-0x40],eax
30fe: 83 7d c0 00 cmp DWORD PTR [ebp-0x40],0x0
3102: 7f 13 jg 3117 <Java_org_zeromq_ZMQ_00024Poller_run_1poll+0x3d>
3104: c7 45 a8 00 00 00 00 mov DWORD PTR [ebp-0x58],0x0
310b: c7 45 ac 00 00 00 00 mov DWORD PTR [ebp-0x54],0x0
3112: e9 b8 02 00 00 jmp 33cf <Java_org_zeromq_ZMQ_00024Poller_run_1poll+0x2f5>
3117: c7 45 c4 00 00 00 00 mov DWORD PTR [ebp-0x3c],0x0
311e: c7 45 c8 00 00 00 00 mov DWORD PTR [ebp-0x38],0x0
3125: c7 45 cc 00 00 00 00 mov DWORD PTR [ebp-0x34],0x0
312c: 83 7d 14 00 cmp DWORD PTR [ebp+0x14],0x0
3130: 74 15 je 3147 <Java_org_zeromq_ZMQ_00024Poller_run_1poll+0x6d>
3132: 8b 45 14 mov eax,DWORD PTR [ebp+0x14]
3135: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
3139: 8b 45 08 mov eax,DWORD PTR [ebp+0x8]
313c: 89 04 24 mov DWORD PTR [esp],eax
313f: e8 a4 e7 ff ff call 18e8 <JNIEnv_::GetArrayLength(_jarray*)@plt>
3144: 89 45 c4 mov DWORD PTR [ebp-0x3c],eax
3147: 83 7d 18 00 cmp DWORD PTR [ebp+0x18],0x0
314b: 74 15 je 3162 <Java_org_zeromq_ZMQ_00024Poller_run_1poll+0x88>
314d: 8b 45 18 mov eax,DWORD PTR [ebp+0x18]
3150: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
3154: 8b 45 08 mov eax,DWORD PTR [ebp+0x8]
3157: 89 04 24 mov DWORD PTR [esp],eax
315a: e8 89 e7 ff ff call 18e8 <JNIEnv_::GetArrayLength(_jarray*)@plt>
315f: 89 45 c8 mov DWORD PTR [ebp-0x38],eax
3162: 83 7d 1c 00 cmp DWORD PTR [ebp+0x1c],0x0
3166: 74 15 je 317d <Java_org_zeromq_ZMQ_00024Poller_run_1poll+0xa3>
3168: 8b 45 1c mov eax,DWORD PTR [ebp+0x1c]
316b: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
316f: 8b 45 08 mov eax,DWORD PTR [ebp+0x8]
3172: 89 04 24 mov DWORD PTR [esp],eax
3175: e8 6e e7 ff ff call 18e8 <JNIEnv_::GetArrayLength(_jarray*)@plt>
317a: 89 45 cc mov DWORD PTR [ebp-0x34],eax
317d: 8b 45 c0 mov eax,DWORD PTR [ebp-0x40]
3180: 3b 45 c4 cmp eax,DWORD PTR [ebp-0x3c]
3183: 7f 10 jg 3195 <Java_org_zeromq_ZMQ_00024Poller_run_1poll+0xbb>
3185: 8b 45 c0 mov eax,DWORD PTR [ebp-0x40]
3188: 3b 45 c8 cmp eax,DWORD PTR [ebp-0x38]
318b: 7f 08 jg 3195 <Java_org_zeromq_ZMQ_00024Poller_run_1poll+0xbb>
318d: 8b 45 c0 mov eax,DWORD PTR [ebp-0x40]
3190: 3b 45 c4 cmp eax,DWORD PTR [ebp-0x3c]
3193: 7e 13 jle 31a8 <Java_org_zeromq_ZMQ_00024Poller_run_1poll+0xce>
3195: c7 45 a8 00 00 00 00 mov DWORD PTR [ebp-0x58],0x0
319c: c7 45 ac 00 00 00 00 mov DWORD PTR [ebp-0x54],0x0
31a3: e9 27 02 00 00 jmp 33cf <Java_org_zeromq_ZMQ_00024Poller_run_1poll+0x2f5>
31a8: 8b 55 c0 mov edx,DWORD PTR [ebp-0x40]
31ab: 89 d0 mov eax,edx
31ad: 01 c0 add eax,eax
31af: 01 d0 add eax,edx
31b1: c1 e0 02 shl eax,0x2
31b4: 89 04 24 mov DWORD PTR [esp],eax
31b7: e8 6c e7 ff ff call 1928 <operator new[](unsigned int)@plt>
31bc: 89 45 d0 mov DWORD PTR [ebp-0x30],eax
31bf: 66 c7 45 d6 00 00 mov WORD PTR [ebp-0x2a],0x0
31c5: c7 45 d8 00 00 00 00 mov DWORD PTR [ebp-0x28],0x0
31cc: 83 7d c4 00 cmp DWORD PTR [ebp-0x3c],0x0
31d0: 0f 8e 24 01 00 00 jle 32fa <Java_org_zeromq_ZMQ_00024Poller_run_1poll+0x220>
31d6: c7 44 24 08 00 00 00 mov DWORD PTR [esp+0x8],0x0
31dd: 00
31de: 8b 45 18 mov eax,DWORD PTR [ebp+0x18]
31e1: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
31e5: 8b 45 08 mov eax,DWORD PTR [ebp+0x8]
31e8: 89 04 24 mov DWORD PTR [esp],eax
31eb: e8 38 e6 ff ff call 1828 <JNIEnv_::GetShortArrayElements(_jshortArray*, unsigned char*)@plt>
31f0: 89 45 dc mov DWORD PTR [ebp-0x24],eax
31f3: 83 7d dc 00 cmp DWORD PTR [ebp-0x24],0x0
31f7: 0f 84 fd 00 00 00 je 32fa <Java_org_zeromq_ZMQ_00024Poller_run_1poll+0x220>
31fd: c7 45 e0 00 00 00 00 mov DWORD PTR [ebp-0x20],0x0
3204: e9 c4 00 00 00 jmp 32cd <Java_org_zeromq_ZMQ_00024Poller_run_1poll+0x1f3>
3209: 8b 45 e0 mov eax,DWORD PTR [ebp-0x20]
320c: 89 44 24 08 mov DWORD PTR [esp+0x8],eax
3210: 8b 45 14 mov eax,DWORD PTR [ebp+0x14]
3213: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
3217: 8b 45 08 mov eax,DWORD PTR [ebp+0x8]
321a: 89 04 24 mov DWORD PTR [esp],eax
321d: e8 86 e7 ff ff call 19a8 <JNIEnv_::GetObjectArrayElement(_jobjectArray*, int)@plt>
3222: 89 45 e4 mov DWORD PTR [ebp-0x1c],eax
3225: 83 7d e4 00 cmp DWORD PTR [ebp-0x1c],0x0
3229: 0f 84 9a 00 00 00 je 32c9 <Java_org_zeromq_ZMQ_00024Poller_run_1poll+0x1ef>
322f: 8b 45 e4 mov eax,DWORD PTR [ebp-0x1c]
3232: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
3236: 8b 45 08 mov eax,DWORD PTR [ebp+0x8]
3239: 89 04 24 mov DWORD PTR [esp],eax
323c: e8 7f fd ff ff call 2fc0 <fetch_socket(JNIEnv_*, _jobject*)>
3241: 89 45 e8 mov DWORD PTR [ebp-0x18],eax
3244: 83 7d e8 00 cmp DWORD PTR [ebp-0x18],0x0
3248: 75 15 jne 325f <Java_org_zeromq_ZMQ_00024Poller_run_1poll+0x185>
324a: c7 44 24 04 16 00 00 mov DWORD PTR [esp+0x4],0x16
3251: 00
3252: 8b 45 08 mov eax,DWORD PTR [ebp+0x8]
3255: 89 04 24 mov DWORD PTR [esp],eax
3258: e8 eb e6 ff ff call 1948 <raise_exception(JNIEnv_*, int)@plt>
325d: eb 6a jmp 32c9 <Java_org_zeromq_ZMQ_00024Poller_run_1poll+0x1ef>
325f: 0f bf 55 d6 movsx edx,WORD PTR [ebp-0x2a]
3263: 89 d0 mov eax,edx
3265: 01 c0 add eax,eax
3267: 01 d0 add eax,edx
3269: c1 e0 02 shl eax,0x2
326c: 89 c2 mov edx,eax
326e: 03 55 d0 add edx,DWORD PTR [ebp-0x30]
3271: 8b 45 e8 mov eax,DWORD PTR [ebp-0x18]
3274: 89 02 mov DWORD PTR [edx],eax
3276: 0f bf 55 d6 movsx edx,WORD PTR [ebp-0x2a]
327a: 89 d0 mov eax,edx
327c: 01 c0 add eax,eax
327e: 01 d0 add eax,edx
3280: c1 e0 02 shl eax,0x2
3283: 03 45 d0 add eax,DWORD PTR [ebp-0x30]
3286: c7 40 04 00 00 00 00 mov DWORD PTR [eax+0x4],0x0
328d: 0f bf 55 d6 movsx edx,WORD PTR [ebp-0x2a]
3291: 89 d0 mov eax,edx
3293: 01 c0 add eax,eax
3295: 01 d0 add eax,edx
3297: c1 e0 02 shl eax,0x2
329a: 89 c2 mov edx,eax
329c: 03 55 d0 add edx,DWORD PTR [ebp-0x30]
329f: 8b 45 e0 mov eax,DWORD PTR [ebp-0x20]
32a2: 01 c0 add eax,eax
32a4: 03 45 dc add eax,DWORD PTR [ebp-0x24]
32a7: 0f b7 00 movzx eax,WORD PTR [eax]
32aa: 66 89 42 08 mov WORD PTR [edx+0x8],ax
32ae: 0f bf 55 d6 movsx edx,WORD PTR [ebp-0x2a]
32b2: 89 d0 mov eax,edx
32b4: 01 c0 add eax,eax
32b6: 01 d0 add eax,edx
32b8: c1 e0 02 shl eax,0x2
32bb: 03 45 d0 add eax,DWORD PTR [ebp-0x30]
32be: 66 c7 40 0a 00 00 mov WORD PTR [eax+0xa],0x0
32c4: 66 83 45 d6 01 add WORD PTR [ebp-0x2a],0x1
32c9: 83 45 e0 01 add DWORD PTR [ebp-0x20],0x1
32cd: 8b 45 e0 mov eax,DWORD PTR [ebp-0x20]
32d0: 3b 45 c4 cmp eax,DWORD PTR [ebp-0x3c]
32d3: 0f 8c 30 ff ff ff jl 3209 <Java_org_zeromq_ZMQ_00024Poller_run_1poll+0x12f>
32d9: c7 44 24 0c 00 00 00 mov DWORD PTR [esp+0xc],0x0
32e0: 00
32e1: 8b 45 dc mov eax,DWORD PTR [ebp-0x24]
32e4: 89 44 24 08 mov DWORD PTR [esp+0x8],eax
32e8: 8b 45 18 mov eax,DWORD PTR [ebp+0x18]
32eb: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
32ef: 8b 45 08 mov eax,DWORD PTR [ebp+0x8]
32f2: 89 04 24 mov DWORD PTR [esp],eax
32f5: e8 fe e4 ff ff call 17f8 <JNIEnv_::ReleaseShortArrayElements(_jshortArray*, short*, int)@plt>
32fa: 0f bf 45 d6 movsx eax,WORD PTR [ebp-0x2a]
32fe: 3b 45 c0 cmp eax,DWORD PTR [ebp-0x40]
3301: 75 28 jne 332b <Java_org_zeromq_ZMQ_00024Poller_run_1poll+0x251>
3303: 66 c7 45 d6 00 00 mov WORD PTR [ebp-0x2a],0x0
3309: 8b 45 b0 mov eax,DWORD PTR [ebp-0x50]
330c: 89 45 ec mov DWORD PTR [ebp-0x14],eax
330f: 8b 45 ec mov eax,DWORD PTR [ebp-0x14]
3312: 89 44 24 08 mov DWORD PTR [esp+0x8],eax
3316: 8b 45 c0 mov eax,DWORD PTR [ebp-0x40]
3319: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
331d: 8b 45 d0 mov eax,DWORD PTR [ebp-0x30]
3320: 89 04 24 mov DWORD PTR [esp],eax
3323: e8 80 e5 ff ff call 18a8 <zmq_poll@plt>
3328: 89 45 d8 mov DWORD PTR [ebp-0x28],eax
332b: 83 7d c4 00 cmp DWORD PTR [ebp-0x3c],0x0
332f: 7e 7f jle 33b0 <Java_org_zeromq_ZMQ_00024Poller_run_1poll+0x2d6>
3331: c7 44 24 08 00 00 00 mov DWORD PTR [esp+0x8],0x0
3338: 00
3339: 8b 45 1c mov eax,DWORD PTR [ebp+0x1c]
333c: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
3340: 8b 45 08 mov eax,DWORD PTR [ebp+0x8]
3343: 89 04 24 mov DWORD PTR [esp],eax
3346: e8 dd e4 ff ff call 1828 <JNIEnv_::GetShortArrayElements(_jshortArray*, unsigned char*)@plt>
334b: 89 45 f0 mov DWORD PTR [ebp-0x10],eax
334e: 83 7d f0 00 cmp DWORD PTR [ebp-0x10],0x0
3352: 74 5c je 33b0 <Java_org_zeromq_ZMQ_00024Poller_run_1poll+0x2d6>
3354: c7 45 f4 00 00 00 00 mov DWORD PTR [ebp-0xc],0x0
335b: eb 2a jmp 3387 <Java_org_zeromq_ZMQ_00024Poller_run_1poll+0x2ad>
335d: 8b 45 f4 mov eax,DWORD PTR [ebp-0xc]
3360: 01 c0 add eax,eax
3362: 89 c1 mov ecx,eax
3364: 03 4d f0 add ecx,DWORD PTR [ebp-0x10]
3367: 0f bf 55 d6 movsx edx,WORD PTR [ebp-0x2a]
336b: 89 d0 mov eax,edx
336d: 01 c0 add eax,eax
336f: 01 d0 add eax,edx
3371: c1 e0 02 shl eax,0x2
3374: 03 45 d0 add eax,DWORD PTR [ebp-0x30]
3377: 0f b7 40 0a movzx eax,WORD PTR [eax+0xa] <-------- eax + 10 is accessed here
337b: 66 89 01 mov WORD PTR [ecx],ax
337e: 66 83 45 d6 01 add WORD PTR [ebp-0x2a],0x1
3383: 83 45 f4 01 add DWORD PTR [ebp-0xc],0x1
3387: 8b 45 f4 mov eax,DWORD PTR [ebp-0xc]
338a: 3b 45 c4 cmp eax,DWORD PTR [ebp-0x3c]
338d: 7c ce jl 335d <Java_org_zeromq_ZMQ_00024Poller_run_1poll+0x283>
338f: c7 44 24 0c 00 00 00 mov DWORD PTR [esp+0xc],0x0
3396: 00
3397: 8b 45 f0 mov eax,DWORD PTR [ebp-0x10]
339a: 89 44 24 08 mov DWORD PTR [esp+0x8],eax
339e: 8b 45 1c mov eax,DWORD PTR [ebp+0x1c]
33a1: 89 44 24 04 mov DWORD PTR [esp+0x4],eax
33a5: 8b 45 08 mov eax,DWORD PTR [ebp+0x8]
33a8: 89 04 24 mov DWORD PTR [esp],eax
33ab: e8 48 e4 ff ff call 17f8 <JNIEnv_::ReleaseShortArrayElements(_jshortArray*, short*, int)@plt>
33b0: 83 7d d0 00 cmp DWORD PTR [ebp-0x30],0x0
33b4: 74 0b je 33c1 <Java_org_zeromq_ZMQ_00024Poller_run_1poll+0x2e7>
33b6: 8b 45 d0 mov eax,DWORD PTR [ebp-0x30]
33b9: 89 04 24 mov DWORD PTR [esp],eax
33bc: e8 a7 e5 ff ff call 1968 <operator delete[](void*)@plt>
33c1: 8b 45 d8 mov eax,DWORD PTR [ebp-0x28]
33c4: 89 45 a8 mov DWORD PTR [ebp-0x58],eax
33c7: 89 c2 mov edx,eax
33c9: c1 fa 1f sar edx,0x1f
33cc: 89 55 ac mov DWORD PTR [ebp-0x54],edx
33cf: 8b 45 a8 mov eax,DWORD PTR [ebp-0x58]
33d2: 8b 55 ac mov edx,DWORD PTR [ebp-0x54]
33d5: 83 c4 64 add esp,0x64
33d8: 5b pop ebx
33d9: 5d pop ebp
33da: c3 ret
33db: 90 nop
/*
Copyright (c) 2007-2010 iMatix Corporation
This file is part of 0MQ.
0MQ is free software; you can redistribute it and/or modify it under
the terms of the Lesser GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
0MQ is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
Lesser GNU General Public License for more details.
You should have received a copy of the Lesser GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include <assert.h>
#include <errno.h>
#include <zmq.h>
#include "jzmq.hpp"
#include "util.hpp"
#include "org_zeromq_ZMQ_Poller.h"
static void *fetch_socket (JNIEnv *env,
jobject socket);
JNIEXPORT jlong JNICALL Java_org_zeromq_ZMQ_00024Poller_run_1poll (JNIEnv *env,
jobject obj,
jint count,
jobjectArray socket_0mq,
jshortArray event_0mq,
jshortArray revent_0mq,
jlong timeout)
{
int ls = (int) count;
if (ls <= 0)
return 0;
int ls_0mq = 0;
int le_0mq = 0;
int lr_0mq = 0;
if (socket_0mq)
ls_0mq = env->GetArrayLength (socket_0mq);
if (event_0mq)
le_0mq = env->GetArrayLength (event_0mq);
if (revent_0mq)
lr_0mq = env->GetArrayLength (revent_0mq);
if (ls > ls_0mq || ls > le_0mq || ls > ls_0mq)
return 0;
zmq_pollitem_t *pitem = new zmq_pollitem_t [ls];
short pc = 0;
int rc = 0;
// Add 0MQ sockets. Array containing them can be "sparse": there
// may be null elements. The count argument has the real number
// of valid sockets in the array.
if (ls_0mq > 0) {
jshort *e_0mq = env->GetShortArrayElements (event_0mq, 0);
if (e_0mq != NULL) {
for (int i = 0; i < ls_0mq; ++i) {
jobject s_0mq = env->GetObjectArrayElement (socket_0mq, i);
if (!s_0mq)
continue;
void *s = fetch_socket (env, s_0mq);
if (s == NULL) {
raise_exception (env, EINVAL);
continue;
}
pitem [pc].socket = s;
pitem [pc].fd = 0;
pitem [pc].events = e_0mq [i];
pitem [pc].revents = 0;
++pc;
}
env->ReleaseShortArrayElements(event_0mq, e_0mq, 0);
}
}
// Count of non-null sockets must be equal to passed-in arg.
if (pc == ls) {
pc = 0;
long tout = (long) timeout;
rc = zmq_poll (pitem, ls, tout);
}
// Set 0MQ results.
if (ls_0mq > 0) {
jshort *r_0mq = env->GetShortArrayElements (revent_0mq, 0);
if (r_0mq) {
for (int i = 0; i < ls_0mq; ++i) {
r_0mq [i] = pitem [pc].revents; //////////// <--- Line 101
++pc;
}
env->ReleaseShortArrayElements(revent_0mq, r_0mq, 0);
}
}
delete [] pitem;
return rc;
}
/**
* Get the value of socketHandle for the specified Java Socket.
*/
static void *fetch_socket (JNIEnv *env,
jobject socket)
{
static jmethodID get_socket_handle_mid = NULL;
if (get_socket_handle_mid == NULL) {
jclass cls = env->GetObjectClass (socket);
assert (cls);
get_socket_handle_mid = env->GetMethodID (cls,
"getSocketHandle", "()J");
env->DeleteLocalRef (cls);
assert (get_socket_handle_mid);
}
void *s = (void*) env->CallLongMethod (socket, get_socket_handle_mid);
if (env->ExceptionCheck ()) {
s = NULL;
}
return s;
}
The File Name Table:
Entry Dir Time Size Name
1 1 0 0 jni.h
2 0 0 0 Poller.cpp
3 2 0 0 zmq.h
4 3 0 0 stdarg.h
5 4 0 0 stdio.h
6 5 0 0 jni_md.h
Advance PC by constant 17 to 0x3342
Special opcode 174: advance Address by 12 to 0x334e and Line by 1 to 99
Special opcode 90: advance Address by 6 to 0x3354 and Line by 1 to 100
Special opcode 132: advance Address by 9 to 0x335d and Line by 1 to 101 <------ 0x3377 falls here
Advance PC by constant 17 to 0x336e
Special opcode 230: advance Address by 16 to 0x337e and Line by 1 to 102
Special opcode 73: advance Address by 5 to 0x3383 and Line by -2 to 100
Special opcode 177: advance Address by 12 to 0x338f and Line by 4 to 104
Advance PC by constant 17 to 0x33a0
Special opcode 233: advance Address by 16 to 0x33b0 and Line by 4 to 108
Advance PC by constant 17 to 0x33c1
Special opcode 6: advance Address by 0 to 0x33c1 and Line by 1 to 109
Advance PC by constant 17 to 0x33d2
Special opcode 48: advance Address by 3 to 0x33d5 and Line by 1 to 110
Advance PC by 6 to 0x33db
Extended opcode 1: End of Sequence
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment