Re: [Ikvm-developers] RXTX already loaded in another classloader
Brought to you by:
jfrijters
From: Jim R. <jr...@er...> - 2008-05-23 23:57:55
|
Jeroen, Ubuntu 8.04 seems to work fine, and idea? Need an NSLU2? Jim $ mono -V Mono JIT compiler version 1.9.1 (tarball) Copyright (C) 2002-2007 Novell, Inc and Contributors. www.mono-project.com TLS: __thread GC: Included Boehm (with typed GC) SIGSEGV: altstack Notifications: epoll Architecture: x86 Disabled: none Serial Port Name "/dev/ttyS0" [17:48:28.42017 main] loadLibrary: ./librxtxSerial.so, class loader: ikvm.runtime.AssemblyClassLoader@1C86FBC0 [17:48:28.45922 main] Library loaded: ./librxtxSerial.so, handle = 0x82BB8B8 [17:48:28.46045 main] Calling JNI_OnLoad on: ./librxtxSerial.so Experimental: JNI_OnLoad called. [17:48:28.55074 main] JNI_OnLoad returned: 0x00010002 [17:48:28.55595 main] loadLibrary: ./librxtxSerial.so, class loader: ikvm.runtime.AssemblyClassLoader@1C86FBC0 [17:48:28.55716 main] Library was already loaded: ./librxtxSerial.so [17:48:28.56624 main] Linking native method: gnu/io/RXTXVersion.nativeGetVersion()Ljava/lang/String;, class loader = ikvm.runtime.AssemblyClassLoader@1C86FBC0, short = Java_gnu_io_RXTXVersion_nativeGetVersion, long = Java_gnu_io_RXTXVersion_nativeGetVersion__, args = 8 [17:48:28.56725 main] Native method gnu/io/RXTXVersion.nativeGetVersion()Ljava/lang/String; found in library 0x82BB8B8 (short) Stable Library ========================================= Native lib Version = RXTX-2.1-7 Java lib Version = RXTX-2.1-7 [17:48:28.58707 main] Linking native method: gnu/io/RXTXCommDriver.getDeviceDirectory()Ljava/lang/String;, class loader = ikvm.runtime.AssemblyClassLoader@1C86FBC0, short = Java_gnu_io_RXTXCommDriver_getDeviceDirectory, long = Java_gnu_io_RXTXCommDriver_getDeviceDirectory__, args = 8 [17:48:28.58783 main] Native method gnu/io/RXTXCommDriver.getDeviceDirectory()Ljava/lang/String; found in library 0x82BB8B8 (short) [17:48:28.60276 main] Linking native method: gnu/io/RXTXCommDriver.testRead(Ljava/lang/String;I)Z, class loader = ikvm.runtime.AssemblyClassLoader@1C86FBC0, short = Java_gnu_io_RXTXCommDriver_testRead, long = Java_gnu_io_RXTXCommDriver_testRead__Ljava_lang_String_2I, args = 16 [17:48:28.60363 main] Native method gnu/io/RXTXCommDriver.testRead(Ljava/lang/String;I)Z found in library 0x82BB8B8 (short) [17:48:28.61671 main] Linking native method: gnu/io/RXTXCommDriver.registerKnownPorts(I)Z, class loader = ikvm.runtime.AssemblyClassLoader@1C86FBC0, short = Java_gnu_io_RXTXCommDriver_registerKnownPorts, long = Java_gnu_io_RXTXCommDriver_registerKnownPorts__I, args = 12 [17:48:28.61753 main] Native method gnu/io/RXTXCommDriver.registerKnownPorts(I)Z found in library 0x82BB8B8 (short) [17:48:28.67625 main] loadLibrary: ./librxtxSerial.so, class loader: ikvm.runtime.AssemblyClassLoader@1C86FBC0 [17:48:28.67697 main] Library was already loaded: ./librxtxSerial.so [17:48:28.70450 main] loadLibrary: ./librxtxSerial.so, class loader: ikvm.runtime.AssemblyClassLoader@1C86FBC0 [17:48:28.70527 main] Library was already loaded: ./librxtxSerial.so [17:48:28.70724 main] Linking native method: gnu/io/RXTXPort.Initialize()V, class loader = ikvm.runtime.AssemblyClassLoader@1C86FBC0, short = Java_gnu_io_RXTXPort_Initialize, long = Java_gnu_io_RXTXPort_Initialize__, args = 8 [17:48:28.70800 main] Native method gnu/io/RXTXPort.Initialize()V found in library 0x82BB8B8 (short) [17:48:28.71311 main] Linking native method: gnu/io/RXTXPort.open(Ljava/lang/String;)I, class loader = ikvm.runtime.AssemblyClassLoader@1C86FBC0, short = Java_gnu_io_RXTXPort_open, long = Java_gnu_io_RXTXPort_open__Ljava_lang_String_2, args = 12 [17:48:28.71390 main] Native method gnu/io/RXTXPort.open(Ljava/lang/String;)I found in library 0x82BB8B8 (short) [17:48:28.75709 Thread-3] Linking native method: gnu/io/RXTXPort.eventLoop()V, class loader = ikvm.runtime.AssemblyClassLoader@1C86FBC0, short = Java_gnu_io_RXTXPort_eventLoop, long = Java_gnu_io_RXTXPort_eventLoop__, args = 8 [17:48:28.75821 Thread-3] Native method gnu/io/RXTXPort.eventLoop()V found in library 0x82BB8B8 (short) [17:48:28.78065 main] Linking native method: gnu/io/RXTXPort.nativeSetSerialPortParams(IIII)Z, class loader = ikvm.runtime.AssemblyClassLoader@1C86FBC0, short = Java_gnu_io_RXTXPort_nativeSetSerialPortParams, long = Java_gnu_io_RXTXPort_nativeSetSerialPortParams__IIII, args = 24 [17:48:28.78149 main] Native method gnu/io/RXTXPort.nativeSetSerialPortParams(IIII)Z found in library 0x82BB8B8 (short) Jeroen Frijters wrote: > Jim Redman wrote: >> This seems to highlight another difference. On Debian/ARM I have >> 1.9.1, on FC8 1.2.6, which doesn't seem to support the app.config - or >> I'm doing it wrong. >> >> Here's the Debian output: >> >> Serial Port Name "/dev/ttyUSB0" >> [07:29:07.27525 main] loadLibrary: /home/MIX_CMIX/librxtxSerial.so, >> class loader: null > [...] >> [07:29:08.14348 main] loadLibrary: /home/MIX_CMIX/librxtxSerial.so, >> class loader: ikvm.runtime.AssemblyClassLoader@BE18F840 > > The first attempt was made by the null class loader, which is very unlikely, because the bootstrap classes don't know about this library. So it looks very likely that it is a stack walking issue. > > You could try working around it by moving the first loadLibrary call around. > > I don't really know how to help you debug the issue and since I don't have a Debian/ARM system I can't debug it myself either. > > It would help if you could try it with Mono 1.9.1 on an x86 Linux and see if that also has the problem, because then it would be easier to track down. > > Regards, > Jeroen -- Jim Redman (505) 662 5156 x85 http://www.ergotech.com |