Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 352726

Summary: [rxtx] eclipse crashes after opening a serial connection via Target Management Terminal
Product: [Tools] Target Management Reporter: Dennis.Wassenberg
Component: TerminalAssignee: dsdp.tm.core-inbox <tm.core-inbox>
Status: RESOLVED NOT_ECLIPSE QA Contact: Martin Oberhuber <mober.at+eclipse>
Severity: critical    
Priority: P3 CC: eclipse, remy.suen
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Linux   
Whiteboard:
Attachments:
Description Flags
Error log of the crash none

Description Dennis.Wassenberg CLA 2011-07-21 07:34:35 EDT
Hi at all,

If I use the Target Management Terminal to open a serial connection via RTTX 2.1.7.4 or RTTX 2.1.7.3 than eclipse always crashes as soon as I will get the first character from the serial connection.

I will copy the error log to this description.

Thank you and best regards,
Dennis

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007f76cbc78a6a, pid=5008, tid=140148615522048
#
# JRE version: 6.0_24-b07
# Java VM: Java HotSpot(TM) 64-Bit Server VM (19.1-b02 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# C  [librxtxSerial.so+0x7a6a]  Java_gnu_io_RXTXPort_nativeDrain+0xea
#
# 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 (0x0000000040234800):  JavaThread "main" [_thread_in_native, id=5009, stack(0x00007f76e461a000,0x00007f76e471b000)]

siginfo:si_signo=SIGSEGV: si_errno=0, si_code=1 (SEGV_MAPERR), si_addr=0xffffffffcbb6e79c

Registers:
RAX=0x000000000000001c, RBX=0x00007f76e4715170, RCX=0x00007f76cbc7b0db, RDX=0x000000000000001b
RSP=0x00007f76e4714fa0, RBP=0x0000000000000000, RSI=0x00007f76cbc7b0da, RDI=0x00007f76e4715170
R8 =0x0000000000000001, R9 =0x00007f76cbc7b0db, R10=0x00007f76e4714d40, R11=0x0000000000000000
R12=0x0000000000000000, R13=0x00000000402349c8, R14=0xffffffffcbb6e790, R15=0x0000000000000042
RIP=0x00007f76cbc78a6a, EFL=0x0000000000010286, CSGSFS=0x0000000000000033, ERR=0x0000000000000005
  TRAPNO=0x000000000000000e

Register to memory mapping:

RAX=0x000000000000001c
0x000000000000001c is pointing to unknown location

RBX=0x00007f76e4715170
0x00007f76e4715170 is pointing into the stack for thread: 0x0000000040234800
"main" prio=10 tid=0x0000000040234800 nid=0x1391 runnable [0x00007f76e4715000]
   java.lang.Thread.State: RUNNABLE

RCX=0x00007f76cbc7b0db
0x00007f76cbc7b0db: <offset 0xa0db> in /IDE/test/eclipse/plugins/gnu.io.rxtx.linux.x86_64_2.1.7.3_v20070717/os/linux/x86_64/librxtxSerial.so at 0x00007f76cbc71000

RDX=0x000000000000001b
0x000000000000001b is pointing to unknown location

RSP=0x00007f76e4714fa0
0x00007f76e4714fa0 is pointing into the stack for thread: 0x0000000040234800
"main" prio=10 tid=0x0000000040234800 nid=0x1391 runnable [0x00007f76e4715000]
   java.lang.Thread.State: RUNNABLE

RBP=0x0000000000000000
0x0000000000000000 is pointing to unknown location

RSI=0x00007f76cbc7b0da
0x00007f76cbc7b0da: <offset 0xa0da> in /IDE/test/eclipse/plugins/gnu.io.rxtx.linux.x86_64_2.1.7.3_v20070717/os/linux/x86_64/librxtxSerial.so at 0x00007f76cbc71000

RDI=0x00007f76e4715170
0x00007f76e4715170 is pointing into the stack for thread: 0x0000000040234800
"main" prio=10 tid=0x0000000040234800 nid=0x1391 runnable [0x00007f76e4715000]
   java.lang.Thread.State: RUNNABLE

R8 =0x0000000000000001
0x0000000000000001 is pointing to unknown location

R9 =0x00007f76cbc7b0db
0x00007f76cbc7b0db: <offset 0xa0db> in /IDE/test/eclipse/plugins/gnu.io.rxtx.linux.x86_64_2.1.7.3_v20070717/os/linux/x86_64/librxtxSerial.so at 0x00007f76cbc71000

R10=0x00007f76e4714d40
0x00007f76e4714d40 is pointing into the stack for thread: 0x0000000040234800
"main" prio=10 tid=0x0000000040234800 nid=0x1391 runnable [0x00007f76e4715000]
   java.lang.Thread.State: RUNNABLE

R11=0x0000000000000000
0x0000000000000000 is pointing to unknown location

R12=0x0000000000000000
0x0000000000000000 is pointing to unknown location

R13=0x00000000402349c8
0x00000000402349c8 is pointing to unknown location

R14=0xffffffffcbb6e790
0xffffffffcbb6e790 is pointing to unknown location

R15=0x0000000000000042
0x0000000000000042 is pointing to unknown location


Top of Stack: (sp=0x00007f76e4714fa0)
0x00007f76e4714fa0:   00007f76e4714f89 00007f76e4715278
0x00007f76e4714fb0:   0000000040234f00 00007f76e4715010
0x00007f76e4714fc0:   00007f76e4715090 00007f76e4fb9aee
0x00007f76e4714fd0:   0000000040234800 00007f76e4fe3960
0x00007f76e4714fe0:   00007f76e4715197 00000000402351e0
0x00007f76e4714ff0:   00000000402351f0 00000000402351e8
0x00007f76e4715000:   00007f760000000b 00007f76cbc78980
0x00007f76e4715010:   00007f76e53330b0 0000005000000000
0x00007f76e4715020:   0000000000000020 0000000000000000
0x00007f76e4715030:   0000000000000000 0000000040234e30
0x00007f76e4715040:   0000000000000020 0000000000000100
0x00007f76e4715050:   0000000000000000 0000000040234d00
0x00007f76e4715060:   0000000000000020 00000000402351e0
0x00007f76e4715070:   0000000040234800 0000000000000003
0x00007f76e4715080:   00007f76e4715197 0000000040234e00
0x00007f76e4715090:   00007f76e47150e0 00007f76e4fb9ca7
0x00007f76e47150a0:   0000000040234800 00007f76e4faa504
0x00007f76e47150b0:   0000000000000001 0000000040234800
0x00007f76e47150c0:   00007f76e4715197 00000000402351e0
0x00007f76e47150d0:   00007f76e4715197 0000000040234800
0x00007f76e47150e0:   00007f76e4715130 00007f76e4fba073
0x00007f76e47150f0:   0000000040232170 0000000040234cf0
0x00007f76e4715100:   00007f76e53372d0 0000000040235220
0x00007f76e4715110:   0000000000000003 0000000000000000
0x00007f76e4715120:   0000000000001428 00007f7600000009
0x00007f76e4715130:   00000000402351e0 00007f76e4fba1aa
0x00007f76e4715140:   0000000040230de0 00007f76e4715178
0x00007f76e4715150:   00000000402351f0 00000000402350e0
0x00007f76e4715160:   0000000040234800 00000000dba572e8
0x00007f76e4715170:   74726f5058545852 29286e696172643a
0x00007f76e4715180:   736e727574657220 00007f000a30203a
0x00007f76e4715190:   00007f76e077edd0 00000000402351e0 

Instructions: (pc=0x00007f76cbc78a6a)
0x00007f76cbc78a5a:   82 c0 ff ff 80 7c 24 07 00 75 3b 4d 85 f6 74 36
0x00007f76cbc78a6a:   45 8b 7e 0c 45 85 ff 74 2d 48 8d 5c 24 10 48 8d 

Stack: [0x00007f76e461a000,0x00007f76e471b000],  sp=0x00007f76e4714fa0,  free space=1003k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [librxtxSerial.so+0x7a6a]  Java_gnu_io_RXTXPort_nativeDrain+0xea

[error occurred during error reporting (printing native stack), id 0xb]

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j  gnu.io.RXTXPort.nativeDrain(Z)Z+0
j  gnu.io.RXTXPort$SerialOutputStream.flush()V+72
j  org.eclipse.tm.internal.terminal.emulator.VT100TerminalControl.sendChar(CZ)V+130
j  org.eclipse.tm.internal.terminal.emulator.VT100TerminalControl$TerminalKeyHandler.keyPressed(Lorg/eclipse/swt/events/KeyEvent;)V+504
j  org.eclipse.swt.widgets.TypedListener.handleEvent(Lorg/eclipse/swt/widgets/Event;)V+683
J  org.eclipse.swt.widgets.EventTable.sendEvent(Lorg/eclipse/swt/widgets/Event;)V
j  org.eclipse.swt.widgets.Widget.sendEvent(Lorg/eclipse/swt/widgets/Event;)V+25
j  org.eclipse.swt.widgets.Widget.sendEvent(ILorg/eclipse/swt/widgets/Event;Z)V+73
j  org.eclipse.swt.widgets.Widget.sendEvent(ILorg/eclipse/swt/widgets/Event;)V+4
j  org.eclipse.swt.widgets.Widget.sendIMKeyEvent(ILorg/eclipse/swt/internal/gtk/GdkEventKey;[C)[C+159
j  org.eclipse.swt.widgets.Control.gtk_commit(JJ)J+49
j  org.eclipse.swt.widgets.Canvas.gtk_commit(JJ)J+31
j  org.eclipse.swt.widgets.Widget.windowProc(JJJ)J+350
j  org.eclipse.swt.widgets.Control.windowProc(JJJ)J+223
j  org.eclipse.swt.widgets.Display.windowProc(JJJ)J+20
v  ~StubRoutines::call_stub
j  org.eclipse.swt.internal.gtk.OS._gtk_im_context_filter_keypress(JJ)Z+0
j  org.eclipse.swt.internal.gtk.OS.gtk_im_context_filter_keypress(JJ)Z+9
j  org.eclipse.swt.widgets.Control.filterKey(IJ)Z+16
j  org.eclipse.swt.widgets.Control.gtk_key_press_event(JJ)J+60
j  org.eclipse.swt.widgets.Composite.gtk_key_press_event(JJ)J+3
j  org.eclipse.swt.widgets.Widget.windowProc(JJJ)J+420
j  org.eclipse.swt.widgets.Control.windowProc(JJJ)J+223
j  org.eclipse.swt.widgets.Display.windowProc(JJJ)J+20
v  ~StubRoutines::call_stub
j  org.eclipse.swt.internal.gtk.OS._gtk_main_do_event(J)V+0
j  org.eclipse.swt.internal.gtk.OS.gtk_main_do_event(J)V+8
j  org.eclipse.swt.widgets.Display.eventProc(JJ)J+132
v  ~StubRoutines::call_stub
j  org.eclipse.swt.internal.gtk.OS._g_main_context_iteration(JZ)Z+0
j  org.eclipse.swt.internal.gtk.OS.g_main_context_iteration(JZ)Z+9
j  org.eclipse.swt.widgets.Display.readAndDispatch()Z+36
j  org.eclipse.ui.internal.Workbench.runEventLoop(Lorg/eclipse/jface/window/Window$IExceptionHandler;Lorg/eclipse/swt/widgets/Display;)V+9
j  org.eclipse.ui.internal.Workbench.runUI()I+555
j  org.eclipse.ui.internal.Workbench.access$4(Lorg/eclipse/ui/internal/Workbench;)I+1
j  org.eclipse.ui.internal.Workbench$7.run()V+55
j  org.eclipse.core.databinding.observable.Realm.runWithDefault(Lorg/eclipse/core/databinding/observable/Realm;Ljava/lang/Runnable;)V+12
j  org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Lorg/eclipse/swt/widgets/Display;Lorg/eclipse/ui/application/WorkbenchAdvisor;)I+18
j  org.eclipse.ui.PlatformUI.createAndRunWorkbench(Lorg/eclipse/swt/widgets/Display;Lorg/eclipse/ui/application/WorkbenchAdvisor;)I+2
j  org.eclipse.ui.internal.ide.application.IDEApplication.start(Lorg/eclipse/equinox/app/IApplicationContext;)Ljava/lang/Object;+108
j  org.eclipse.equinox.internal.app.EclipseAppHandle.run(Ljava/lang/Object;)Ljava/lang/Object;+135
j  org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(Ljava/lang/Object;)Ljava/lang/Object;+103
j  org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(Ljava/lang/Object;)Ljava/lang/Object;+29
j  org.eclipse.core.runtime.adaptor.EclipseStarter.run(Ljava/lang/Object;)Ljava/lang/Object;+149
j  org.eclipse.core.runtime.adaptor.EclipseStarter.run([Ljava/lang/String;Ljava/lang/Runnable;)Ljava/lang/Object;+183
v  ~StubRoutines::call_stub
j  sun.reflect.NativeMethodAccessorImpl.invoke0(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+0
j  sun.reflect.NativeMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+87
j  sun.reflect.DelegatingMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+6
j  java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+161
j  org.eclipse.equinox.launcher.Main.invokeFramework([Ljava/lang/String;[Ljava/net/URL;)V+211
j  org.eclipse.equinox.launcher.Main.basicRun([Ljava/lang/String;)V+126
j  org.eclipse.equinox.launcher.Main.run([Ljava/lang/String;)I+4
j  org.eclipse.equinox.launcher.Main.main([Ljava/lang/String;)V+10
v  ~StubRoutines::call_stub

---------------  P R O C E S S  ---------------

Java Threads: ( => current thread )
  0x00007f76cc4ad800 JavaThread "Thread-5" [_thread_in_native, id=5056, stack(0x00007f76cba6f000,0x00007f76cbb70000)]
  0x00000000413e7800 JavaThread "Worker-9" [_thread_blocked, id=5050, stack(0x00007f76cbeff000,0x00007f76cc000000)]
  0x00000000409e3800 JavaThread "Worker-8" [_thread_blocked, id=5049, stack(0x00007f76d0048000,0x00007f76d0149000)]
  0x00000000405db800 JavaThread "Worker-7" [_thread_blocked, id=5048, stack(0x00007f76d0149000,0x00007f76d024a000)]
  0x00000000420bb000 JavaThread "Worker-6" [_thread_blocked, id=5047, stack(0x00007f76d024a000,0x00007f76d034b000)]
  0x0000000040c57800 JavaThread "Worker-5" [_thread_blocked, id=5046, stack(0x00007f76d034b000,0x00007f76d044c000)]
  0x0000000041fe7000 JavaThread "Worker-4" [_thread_blocked, id=5045, stack(0x00007f76d044c000,0x00007f76d054d000)]
  0x000000004127c000 JavaThread "Worker-3" [_thread_blocked, id=5044, stack(0x00007f76d1341000,0x00007f76d1442000)]
  0x00000000410c1800 JavaThread "Worker-2" [_thread_blocked, id=5043, stack(0x00007f76d1792000,0x00007f76d1893000)]
  0x00007f76cc0d9000 JavaThread "Worker-1" [_thread_blocked, id=5042, stack(0x00007f76d1b41000,0x00007f76d1c42000)]
  0x00007f76d91b7800 JavaThread "Java indexing" daemon [_thread_blocked, id=5041, stack(0x00007f76d14a2000,0x00007f76d15a3000)]
  0x00007f76cc05b000 JavaThread "Provisioning Event Dispatcher" daemon [_thread_blocked, id=5038, stack(0x00007f76d288c000,0x00007f76d298d000)]
  0x00007f76cc08b800 JavaThread "Worker-0" [_thread_blocked, id=5037, stack(0x00007f76d2dc6000,0x00007f76d2ec7000)]
  0x00007f76d9d21800 JavaThread "Bundle File Closer" daemon [_thread_blocked, id=5036, stack(0x00007f76d23f6000,0x00007f76d24f7000)]
  0x0000000040f84000 JavaThread "Worker-JM" [_thread_blocked, id=5035, stack(0x00007f76d2bc4000,0x00007f76d2cc5000)]
  0x00007f76d89c4000 JavaThread "[Timer] - Main Queue Handler" daemon [_thread_blocked, id=5034, stack(0x00007f76d2cc5000,0x00007f76d2dc6000)]
  0x00000000406ee800 JavaThread "Framework Event Dispatcher" daemon [_thread_blocked, id=5030, stack(0x00007f76d2ec7000,0x00007f76d2fc8000)]
  0x000000004067a800 JavaThread "State Saver" daemon [_thread_blocked, id=5029, stack(0x00007f76d2fc8000,0x00007f76d30c9000)]
  0x0000000040677800 JavaThread "Start Level Event Dispatcher" daemon [_thread_blocked, id=5028, stack(0x00007f76d30c9000,0x00007f76d31ca000)]
  0x00000000403f6800 JavaThread "State Data Manager" daemon [_thread_blocked, id=5027, stack(0x00007f76d31ca000,0x00007f76d32cb000)]
  0x0000000040393000 JavaThread "Framework Active Thread" [_thread_blocked, id=5026, stack(0x00007f76d32cb000,0x00007f76d33cc000)]
  0x00007f76d8098800 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=5024, stack(0x00007f76deb16000,0x00007f76dec17000)]
  0x00007f76d8096000 JavaThread "CompilerThread1" daemon [_thread_blocked, id=5023, stack(0x00007f76dec17000,0x00007f76ded18000)]
  0x00007f76d8093000 JavaThread "CompilerThread0" daemon [_thread_blocked, id=5022, stack(0x00007f76ded18000,0x00007f76dee19000)]
  0x00007f76d8091000 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=5021, stack(0x00007f76dee19000,0x00007f76def1a000)]
  0x00007f76d8074000 JavaThread "Finalizer" daemon [_thread_blocked, id=5020, stack(0x00007f76def59000,0x00007f76df05a000)]
  0x00007f76d8072000 JavaThread "Reference Handler" daemon [_thread_blocked, id=5019, stack(0x00007f76df05a000,0x00007f76df15b000)]
=>0x0000000040234800 JavaThread "main" [_thread_in_native, id=5009, stack(0x00007f76e461a000,0x00007f76e471b000)]

Other Threads:
  0x00007f76d806b000 VMThread [stack: 0x00007f76df15b000,0x00007f76df25c000] [id=5018]
  0x00007f76d80ab000 WatcherThread [stack: 0x00007f76dea15000,0x00007f76deb16000] [id=5025]

VM state:not at safepoint (normal execution)

VM Mutex/Monitor currently owned by a thread: None

Heap
 PSYoungGen      total 39424K, used 35876K [0x00000000f8000000, 0x00000000fd4d0000, 0x0000000100000000)
  eden space 35200K, 90% used [0x00000000f8000000,0x00000000f9ef47f8,0x00000000fa260000)
  from space 4224K, 98% used [0x00000000fc170000,0x00000000fc584968,0x00000000fc590000)
  to   space 11456K, 0% used [0x00000000fc9a0000,0x00000000fc9a0000,0x00000000fd4d0000)
 PSOldGen        total 27328K, used 19735K [0x00000000e8000000, 0x00000000e9ab0000, 0x00000000f8000000)
  object space 27328K, 72% used [0x00000000e8000000,0x00000000e9345c48,0x00000000e9ab0000)
 PSPermGen       total 60032K, used 59915K [0x00000000d8000000, 0x00000000dbaa0000, 0x00000000e8000000)
  object space 60032K, 99% used [0x00000000d8000000,0x00000000dba82d78,0x00000000dbaa0000)


---------------  S Y S T E M  ---------------

OS:squeeze/sid

uname:Linux 2.6.32-32-generic #62-Ubuntu SMP Wed Apr 20 21:52:38 UTC 2011 x86_64
libc:glibc 2.11.1 NPTL 2.11.1 
rlimit: STACK 8192k, CORE 0k, NPROC infinity, NOFILE 1024, AS infinity
load average:1,22 0,71 0,58

/proc/meminfo:
MemTotal:        8155232 kB
MemFree:         3056972 kB
Buffers:          823960 kB
Cached:          1211884 kB
SwapCached:            0 kB
Active:          3143548 kB
Inactive:        1200148 kB
Active(anon):    2308304 kB
Inactive(anon):     9932 kB
Active(file):     835244 kB
Inactive(file):  1190216 kB
Unevictable:          16 kB
Mlocked:              16 kB
SwapTotal:      32764556 kB
SwapFree:       32764556 kB
Dirty:              1008 kB
Writeback:             0 kB
AnonPages:       2307932 kB
Mapped:           146776 kB
Shmem:             10392 kB
Slab:             473664 kB
SReclaimable:     420856 kB
SUnreclaim:        52808 kB
KernelStack:        4112 kB
PageTables:        28740 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:    36842172 kB
Committed_AS:    4917816 kB
VmallocTotal:   34359738367 kB
VmallocUsed:      350212 kB
VmallocChunk:   34359380476 kB
HardwareCorrupted:     0 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
DirectMap4k:       62976 kB
DirectMap2M:     8284160 kB


CPU:total 8 (4 cores per cpu, 2 threads per core) family 6 model 30 stepping 5, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, ht

Memory: 4k page, physical 8155232k(3056972k free), swap 32764556k(32764556k free)

vm_info: Java HotSpot(TM) 64-Bit Server VM (19.1-b02) for linux-amd64 JRE (1.6.0_24-b07), built on Feb  2 2011 16:55:54 by "java_re" with gcc 3.2.2 (SuSE Linux)

time: Thu Jul 21 09:24:36 2011
elapsed time: 22 seconds


-- Configuration Details --
Product: Eclipse 1.4.0.20110609-1120 (org.eclipse.epp.package.linuxtools.product)
Installed Features:
 org.eclipse.platform 3.7.0.v20110530-9gF7UHNFFt4cwE-pkZDJ7oz-mj4OSEIlu9SEv0f
Comment 1 Dennis.Wassenberg CLA 2011-07-21 07:35:40 EDT
Created attachment 200078 [details]
Error log of the crash
Comment 2 Remy Suen CLA 2011-07-21 07:40:15 EDT
Bugs with TM goes to TM.
Comment 3 Martin Oberhuber CLA 2011-09-30 06:09:16 EDT
Apparently it crashes in RXTX native code:

0x00007f76cbc7b0db: <offset 0xa0db> in
/IDE/test/eclipse/plugins/gnu.io.rxtx.linux.x86_64_2.1.7.3_v20070717/os/linux/x86_64/librxtxSerial.so

There's nothing Java / Eclipse can do when a linked sharedlib crashes in native code. Please try getting an updated RXTX and/or report on the RXTX mailing list:

   http://rxtx.qbang.org

FWIW, an Eclipse plugin hasn't been published yet of any newer RXTX builds but you should be able to grab an rxtx-2.2pre2 and install in your JRE, then remove the RXTX-2.0 plugin from Eclipse and run. If that doesn't help, build RXTX yourself. 

If that also doesn't help, report to the RXTX mailing list. They'll likely want to know what kind of serial port you have and what OS exactly you're running on.